我有一个GridView控件,我正在添加GridViewColumns。我正在使用GridViewColumn的DisplayMemberBinding属性,但现在我想使用CellTemplate。我绑定了一本字典。
以下代码适用于DisplayMemberBinding:
var column = new GridViewColumn
{
Header = current.Key,
DisplayMemberBinding = new Binding("[" + current.Key + ]")
};
现在,我需要对CellTemplate做同样的事情但由于某种原因我不确定它为什么不显示这些项目。
var column = new GridViewColumn
{
Header = current.Key,
CellTemplate = (DataTemplate)FindResource("GridViewTextBlockDataTemplate"),
};
这是Window.Resources中定义的DataTemplate:
<DataTemplate x:Key="GridViewTextBlockDataTemplate" x:Name="GridViewTextBlockDataTemplate">
<TextBlock Text="{Binding Path=[Key]}"></TextBlock>
</DataTemplate>
谢谢, 阿扎姆
答案 0 :(得分:0)
您的解决方案是正确的,除了要获取文本块中的值,您只需要具有关键字绑定,并且在绑定datatemplate时无需提供路径,它会自动分配值。
如果这不起作用,请尝试对数据网格使用datatemplate选择器。有关datatemplate选择器的详细说明,请查看以下链接: WPF DataTemplate Selector Tutorial