WPF动态设置CellTemplate和绑定

时间:2010-03-04 15:42:17

标签: wpf data-binding

我有一个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>

谢谢, 阿扎姆

1 个答案:

答案 0 :(得分:0)

您的解决方案是正确的,除了要获取文本块中的值,您只需要具有关键字绑定,并且在绑定datatemplate时无需提供路径,它会自动分配值。

如果这不起作用,请尝试对数据网格使用datatemplate选择器。有关datatemplate选择器的详细说明,请查看以下链接: WPF DataTemplate Selector Tutorial