Если я вас понимаю, у вас есть что-то вроде "master / detail", AKA вы нажимаете на строку сетки данных и хотите заполнить пару текстовых полей.
Итак, когда вы нажимаете на строку, запускаетесобытие SelectionChanged, получите элемент, прикрепленный к этой строке (Employee), и назначьте его свойству SelectedEmployee.Текстовый текстовый текстовый текст - это SelectedEmployee.Свяжите каждое текстовое поле со свойством SelectedEmployee (empid, empname ...)
Это то, что вы хотите?:)
Вот пример:
<StackPanel>
<sdk:DataGrid x:Name="datagrid" SelectionChanged="DataGrid_SelectionChanged">
</sdk:DataGrid>
<TextBox Text="{Binding SelectedEmployee.Id}" />
<TextBox Text="{Binding SelectedEmployee.EmpName}" />
</StackPanel>
У меня есть DataGrid (имя, потому что я использую codebehind в этом примере).Сетка данных с данными и два текстовых поля, которые будут содержать данные выбранной строки в сетке данных.
private ObservableCollection<Employee> employees;
public MainPage()
{
InitializeComponent();
employees = new ObservableCollection<Employee>();
employees.Add(new Employee {Id = 1, EmpName = "Raj"});
employees.Add(new Employee {Id = 2, EmpName = "Jesus"});
datagrid.ItemsSource = Employees;
Page.DataContext = this;
}
private Employee _selectedEmployee;
public ObservableCollection<Employee> Employees
{
get { return employees; }
}
public Employee SelectedEmployee
{
get { return _selectedEmployee; }
set
{
_selectedEmployee = value;
RaisePropertyChanged("SelectedEmployee");
}
}
private void DataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
SelectedEmployee = datagrid.SelectedItem as Employee;
}
Опять код за дерьмом, но идея такова.У вас есть ItemsSource, связанный с вашей DataGrid, и у вас есть свойство SelectedEmployee.
Итак, когда я щелкаю по строке, запускается событие SelectedChanged, и вы должны назначить Employee этой строке, поместив егок свойству SelectedEmployee и поскольку текстовые поля назначены этому свойству, вы увидите их заполненными.
Лучше сейчас?:)