【发布时间】:2014-08-09 08:40:53
【问题描述】:
如果我在 DataGrid 中自动生成列,则数组和集合项不会自动成为 DataGridComboBoxColumn,或者它们看起来不是...
这段代码:
<DataGrid x:Name="dataGrid" Grid.Row="1" ItemsSource="{Binding SrcCollection}" AutoGenerateColumns="False" SelectionMode="Single"
AlternatingRowBackground="{DynamicResource {x:Static SystemColors.GradientActiveCaptionBrushKey}}" AlternationCount="1"
IsReadOnly="True" >
<DataGrid.RowStyle>
<Style>
<Setter Property="DataGridRow.IsSelected" Value="{Binding Path=IsSelected, Mode=TwoWay}" />
</Style>
</DataGrid.RowStyle>
<DataGrid.Columns>
...
<DataGridComboBoxColumn ItemsSource="{Binding Path=MetadataMap}" Header="MetadataMap" IsReadOnly="True" />
<DataGridTemplateColumn Header="MetadataMap" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Path=MetadataMap}" SelectedIndex="0" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
...
<DataGridComboBoxColumn ItemsSource="{Binding Path=Rights}" Header="Rights" IsReadOnly="True" />
<DataGridTemplateColumn Header="Rights" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Path=Rights}" SelectedIndex="0" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
...
</DataGrid.Columns>
</DataGrid >
产生以下结果:
那么,我怎样才能让它们正常工作,最好是使用自动生成,这样我就不需要生成数百个 DataGrid 定义?
【问题讨论】:
-
不知道如何让它工作?
标签: c# wpf datagrid datagridtemplatecolumn datagridcomboboxcolumn