【发布时间】:2014-12-29 08:37:57
【问题描述】:
在我们的数据网格中,我们使用ItemTemplateSelector 根据绑定到特定单元格的数据在两个数据模板之间切换。
由于列数取决于我们在DataGrid 中使用的AutoGenerateColumns 的当前数据集。
这种特殊的组合似乎效果不佳 -
模板选择器甚至没有被调用。
我们可以在自动创建列的数据网格中使用模板选择器吗?
更具体地说:这是否可能仅使用 XAML 将逻辑放入代码隐藏文件或使用自定义行为?
我们的数据网格定义相当简单:
<DataGrid
ItemTemplateSelector="{StaticResource myCustomDataTemplateSelector}"
ItemsSource="{Binding MyData}">
<DataGrid.Columns>
</DataGrid.Columns>
</DataGrid>
项目模板选择器定义:
<UserControl.Resources>
<ResourceDictionary>
<helpers:CustomDataTemplateSelector x:Key="myCustomDataTemplateSelector"/>
</ResourceDictionary>
</UserControl.Resources>
【问题讨论】:
-
您确定您的 myCustomDataTemplateSelector 已在资源中实例化吗?另外,你在哪里定义模板
-
假设是这样 - 定义添加到问题中。 DataTemplates 是在同一个文件的同一个资源部分中定义的 - 但它似乎并没有那么远..
标签: c# wpf mvvm datagrid itemtemplateselector