0

Windows Phone アプリケーションを作成しており、ピボットを使用して同じデータに異なるビューを表示したいと考えています。

これを行うために、プロパティを作成しました。

IEnumerable<Item> Items { get; set; };
IEnumerable<Item> ItemView1 { get { return Items.where(value => value.Property) }};        
IEnumerable<Item> ItemView2 { get { return Items.where(value => value.Property) }};

そして、私は自分の見解でそれらにバインドしました:

<phone:PivotItem>
    <phone:LongListSelector ItemsSource="{Binding ItemView1}">
</phone:PivotItem>

<phone:PivotItem>
    <phone:LongListSelector ItemsSource="{Binding ItemView2}">
</phone:PivotItem>

プロパティに項目を追加した後、次のItemsように呼び出します。

NotifyPropertyChanged("ItemView1");
NotifyPropertyChanged("ItemView2");

ただし、アプリケーションを実行すると、ビューは新しい結果で更新されませんが、新しいリストを作成すると機能します。このように結果に直接バインドすることはできませんか? そうでない場合、できれば常に複数のリストを作成する必要なく、このようなことを行うべきであると提案された方法はありますか?

4

1 に答える 1

-1

間違ったイベントを発生させています。

テキスト ブロックなどの単純なコンテンツ バインド コントロールは、コンテキスト オブジェクトがそのインターフェイスを実装している場合、INotifyPropertyChanged まで自動配線されますが、コレクション ベースのコントロール (セレクター ベースも同様だと思います) は INotifyCollectionChanged を探します。

于 2013-03-29T03:20:49.293 に答える