1

私は現在ItemsControl、ViewModelBases のリストにバインドされたいくつかのボタンを含むアプリケーションの上部で を使用しています。これらの VM は、私のアプリのページです。クリックすると、現在のページが適切なページに設定されます。コンテンツ プレゼンターは現在のビュー モデルを表示DataTemplateし、それを正しいビューに変換します。

これらのビューでデータ バインディングを使用するにはどうすればよいですか? ビューはViewModelによって作成されているため、そのビューモデルの新しいインスタンスをビューに作成できないということでしょうか? バインドする正しいインスタンスをどのように見つけることができますか? それとも、自動的にバインドされますか?

4

1 に答える 1

1

WPF ItemsControls は、画面にレンダリングする各アイテムの DataContext を、基になるコレクション内の対応するアイテムに自動的に設定します。これは、IEnumerable を ItemsControl (または ListBox などのその他の ItemsControl 派生クラス) の ItemsSource として設定した場合、(使用可能な DataTemplates を使用して) 画面上のすべての項目をレンダリングし、自動的に DataContext プロパティを割り当てることを意味します。結果のビジュアル要素を各 ViewModelBase アイテムに。

于 2012-10-30T20:34:14.547 に答える