РЕДАКТИРОВАНИЕ: Вот как будет выглядеть ваш код ...
<!-- Master -->
<sdk:DataGrid x:Name="FoobarDataGrid" DataContext="foobar" AutoGenerateColumns="False">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn x:Name="FooDataGridColumn" Header="Foo" Binding="{Binding Foo}" />
<sdk:DataGridTextColumn x:Name="BarDataGridColumn" Header="Bar" Binding="{Binding Bar}" />
</sdk:DataGrid.Columns>
</sdk:DataGrid>
<!-- Details -->
<TextBox
DataContext="{Binding SelectedItem, ElementName=FoobarDataGrid}"
x:Name="FooDetailsTextBlock"
Text="{Binding Foo}" />
<TextBox
DataContext="{Binding SelectedItem, ElementName=FoobarDataGrid}"
x:Name="BarDetailsTextBlock"
Text="{Binding Bar}" />
Оригинальный ответ ...
Вот способ ...
Мой DataGrid
связан с коллекцией пользовательского класса. Этот класс имеет свойство с именем LabName
. Это то, что я связываю с колонкой в DataGrid
1017 * XAML *
<sdk:DataGrid
Name="LabsDataGrid"
ItemsSource="{Binding}"
AutoGenerateColumns="False"
Height="284"
HorizontalAlignment="Left"
Margin="205,250,0,0"
VerticalAlignment="Top"
Width="359"
IsReadOnly="True">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn
Header="Lab Name"
Binding="{Binding LabName}" />
</sdk:DataGrid.Columns>
</sdk:DataGrid>
<TextBox
DataContext="{Binding SelectedItem, ElementName=LabsDataGrid}"
Name="LabName"
Text="{Binding LabName}"
Height="23"
HorizontalAlignment="Left"
Margin="324,121,0,0"
VerticalAlignment="Top"
Width="132" />
Обратите внимание, что я устанавливаю DataContext
TextBox
на SelectedItem
DataGrid
. Поэтому, когда пользователь щелкает строку в DataGrid
, TextBox
заполняется LabName
, привязанным к столбцу в DataGrid
.