更新Windows Phone 8 C上列表框中特定项目的DataTemplate#

时间:2015-07-07 13:34:35

标签: c# windows-phone-8 listbox datatemplate datatemplateselector

我无法在运行时更新列表中的单个项目的DataTemplate。详细而言,这就是我想要完成的事情。

我有一个列表框,其中的项目可以有不同的状态(折叠,展开,禁用等),每个状态都有不同的布局。我使用TemplateSelector根据我班级的属性选择正确的DataTemplate,并且在我第一次创建列表时工作得很好,这些项目都正确显示。但是,当我更改在运行时设置DataTemplate的属性时,将调用NotifyPropertyChanged并在列表中更新项目的信息,但不会更新DataTemplate。例如:我有一个带有标签X的折叠项目,我想要展开。我点击该项目,标签更改为Y,但DataTemplate不会更新。

我对如何做到这一点有任何想法? DataTemplate是否可以在运行时更新,除非它是针对整个列表的?

我会感激任何帮助。

1 个答案:

答案 0 :(得分:0)

制作UserControl并在数据模板中使用它。现在,要更改状态,您可以在此UserControl上调用方法,它将更新。您也可以通过故事板使用动画。