1

我有一个 ListView,当控件首次加载内容时,使用 ItemTemplateSelector 正确格式化 ListViewItem 。数据使用 INotifyPropertyChanged 正确编码。

我的问题是:在 ListView 已经加载数据后,如何使单个 ListViewItem 更新它的 DataTemplate?我不确定是否需要使用 setter、任务或简单绑定。有人已经这样做了吗?

我的列表视图代码:

        <ListView x:Name="lv_src_gStream" 
                  ItemsSource="{Binding Source={StaticResource CVS_src_gStream}}" 
                  PointerPressed="selectPost" 
                  SelectionMode="None" 
                  HorizontalContentAlignment="Stretch" 
                  ItemTemplateSelector="{StaticResource postTemplateSelector}">
        </ListView>

这在数据首次加载时效果很好,但是当变量发生变化时,如何让 ItemTemplateSelector 选择不同的模板?

4

1 回答 1

0

我认为您不能在加载后动态更改单个 ListViewItem 模板。但是您可以使用 ItemContainerStyle 在特定事件上自定义模板,例如 Unfocused、Selected、Pressed... 这是一个示例如何在 Metro/WinRT 应用程序的 ListView 项目单击时设置不同的背景颜色?

于 2012-10-10T13:00:34.007 回答