WPF:根据Value更改DataTemples

时间:2010-04-25 00:21:53

标签: .net wpf collections binding

我有一个名为Cell的类,有两个属性。一个名为Value int?,另一个称为ObservableCollection<ObservableCollection<Candidate>>类型的候选人

在初始化期间,我利用DataTemplateSelector在两个不同场景的两个数据窗口之间进行选择。

如果Value属性具有值,则应使用模板A来呈现Cell类。 但是,如果Value属性为null,则应使用模板B来呈现Cell类。

虽然这在初始化期间完全正常,但是在运行时期间,当Value属性的值实际更改时,模板不再更改。

使用DataTemplateSelector的方法是否是动态更改DataTemplates的错误方法?你会建议我做什么?

非常感谢,

1 个答案:

答案 0 :(得分:2)

虽然似乎DataTemplateSelector方法应该有效,但另一种尝试方法是使用DataTrigger代替。您可以创建在Valuenull时触发的样式,并根据该值设置控件的模板。