C# - 从WPF DataGrid填充TextBox

cha*_*law 1 c# wpf datagrid textbox

我有一个带有一些文本框和一个DataGrid的WPF窗口.DataGrid充满了Data,但我需要的是,当用户单击该DataGrid中的单元格时,程序会检测该行并使用该行中的数据重新填充文本框.例如,有一个ID,Name和BirthDate文本框.当用户单击给定行中的任何单元格时,文本框ID,Name和BirthDate的值必须成为所选行中各自列(ID,Name,BirthDate)的值.我四处寻找答案,但我似乎只找到了与WinForms相关的答案,WinForms和WPF中的DataGrid在代码方面的工作方式完全不同.

She*_*dan 5

您可以Binding使用该ElementName属性为您执行此操作...无需后面的代码:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <DataGrid Name="DataGrid" ItemsSource="{Binding YourDataCollection}" />
    <Grid Grid.Column="1">
        <Grid.RowDefinitions>
            <RowDefinition />
            <RowDefinition />
            <RowDefinition />
        </Grid.RowDefinitions>
        <TextBlock Grid.Row="0" Text="{Binding SelectedItem.Id, 
            ElementName=DataGrid}" />
        <TextBlock Grid.Row="1" Text="{Binding SelectedItem.Name, 
            ElementName=DataGrid}" />
        <TextBlock Grid.Row="2" Text="{Binding SelectedItem.BirthDate, 
            ElementName=DataGrid}" />
    </Grid>
</Grid>
Run Code Online (Sandbox Code Playgroud)