1

コントロールが最初にコンテンツをロードするときに、 ListViewItem が ItemTemplateSelector を使用して適切にフォーマットされている ListView があります。データは、INotifyPropertyChanged を使用して適切にコーディングされています。

私の質問は次のとおりです: ListView が既にデータをロードした後、単一の ListViewItem がその DataTemplate を更新するようにするにはどうすればよいですか? セッター、タスク、または単純なバインドを使用する必要があるかどうかはわかりません。誰かがすでにこれを行っていますか?

私のListViewコード:

        <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 に答える