【发布时间】:2022-01-01 09:09:36
【问题描述】:
我很难理解如何将选定单元格的详细信息显示到第二个 ColumnDefinition 中。详细信息属性通过 KeyValuePair 设置进入可观察字典。
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<DataGrid ItemsSource="{Binding Persons.Values}" AutoGenerateColumns="False" Grid.Column="0">
<DataGrid.Columns>
<DataGridTemplateColumn SortMemberPath="Key.Name" Header="K1 Regler" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Border Background="Azure">
<Grid>
<Label Foreground="Black" Content="{Binding Path=Key.Name}" Width="Auto" HorizontalContentAlignment="Center"/>
</Grid>
</Border>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
如果我选择了其中一个 Datagrid 单元格,如何在 ColumnDefinitions 之间传递数据?
【问题讨论】:
-
您是指“选定的列”吗?通常你选择一个/o行的单元格...
-
通常你会通过视图模型进行通信。并让两列(或更好:它们的单元格)绑定到相同的数据,a/o 也设置该数据。例如一些“SelectedItem”属性...
-
我怎样才能实现它?我的想法是使用 ItemSource Persons.Values 在 Datagrid 的第一个 ColumnDefinition 上选择一个单元格,并在带有 TextBox 的第二个 ColumnDefinition 上显示 Value.Name 属性。
-
通常在 DataGrid 中,同一行的所有单元格共享相同的数据对象,因此例如,您可以在第一列中显示“FamilienName”,在第二列中显示“VorName”,或者诸如此类,您只需绑定到这两个属性,但没有什么特别/复杂的。
-
你有两个数据网格吗?并且您希望在第一个网格中选择的数据也显示在第二个 GRID 中(更详细?)
标签: c# wpf dictionary datagrid observable