1

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

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

关于我如何做到这一点的任何想法?除非针对整个列表,否则不能在运行时更新 DataTemplate 吗?

我会很感激任何帮助。

4

1 回答 1

0

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

于 2015-07-27T11:59:09.023 回答