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

Update DataTemplate for a specific item on a listbox on Windows Phone 8 C#

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

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

知道我该怎么做吗?除非是针对整个列表,否则不能在运行时更新 DataTemplate 吗?

如有任何帮助,我将不胜感激。

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