cac*_*cau 4 c# wpf datagrid mvvm itemtemplateselector
在我们的数据网格中,我们使用a ItemTemplateSelector根据绑定到特定单元格的数据在两个数据模板之间切换.
由于列数取决于我们AutoGenerateColumns在我们使用的当前数据集DataGrid.
看起来这种特殊的组合效果不好 -
甚至没有调用模板选择器.
我们可以在自动创建列的数据网格中使用模板选择器吗?
更具体地说:这是否可以使用XAML而不将逻辑放入代码隐藏文件或使用自定义行为?
我们的数据网格定义相当简单:
<DataGrid
ItemTemplateSelector="{StaticResource myCustomDataTemplateSelector}"
ItemsSource="{Binding MyData}">
<DataGrid.Columns>
</DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)
该项目模板选择定义:
<UserControl.Resources>
<ResourceDictionary>
<helpers:CustomDataTemplateSelector x:Key="myCustomDataTemplateSelector"/>
</ResourceDictionary>
</UserControl.Resources>
Run Code Online (Sandbox Code Playgroud)
第一,
ItemTemplate和ItemTemplateSelector是在DataGrid中故意忽略的继承属性,因为它们并不像ItemsControl中那样真正应用于DataGrid.
其次,如果你的意思是你想根据它的值来修改单元格,你正在寻找CellTemplateSelector一个DataGridTemplateColumn.
但是,当您自动生成列时,它已自动选择基础类型.
您可以在GeneratingColumns事件中覆盖该行为.
请参阅:在WPF DataGrid自动生成列中使用CellTemplateSelector强制DataTemplateCell
如果您需要更多控制权,您可能需要查看https://zamjad.wordpress.com/2011/09/17/datagrid-with-dynamic-columns-revisited/
| 归档时间: |
|
| 查看次数: |
2643 次 |
| 最近记录: |