私は次のような問題があります。私は、ユーザーがGTalkに異なるアカウントで接続したいチャットWPFアプリケーションを構築しています。私はViewModel(前の質問で私にいくつかの問題を解決したStackOverflowのおかげで...)を作成しましたが、これは通信を処理することを可能にしますが、どちらがDataContextを処理する最良の方法かわかりません。私は、すべての接続インスタンスのために異なるDataContextsが必要だと思うが、これは正しい方法であるかわからないし、Viewで複数のDataContextsを定義する方法を知らない。 誰でも助けてくれますか?ビュー内の複数のDataContext対MVVM?そうですか?
0
A
答えて
1
DataContext
は、ビュー内の要素のデフォルトバインディングソースを提供します。ビジュアルツリー内で親から子に継承されます。任意の要素のDataContext
は、親の一部のプロパティにバインドすることで変更できますDataContext
。これは、子ビューモデルにバインドする「島」を作成する一般的な方法です。
あなたがAddress
プロパティを持っているユーザービューモデルを持っている場合たとえば、次のように、あなたはAddressUserControl
でこれをレンダリングすることができますが:
<StackPanel>
... elements bound to properties of User ...
<AddressUserControl DataContext="{Binding Address}"/>
</StackPanel>
0
あなたがアカウントの可変数を持っている場合は、あなたが使用することができますItemsControl。
これの背後にある大まかなアイデア:ItemsControlをメインViewModelの「Sub-ViewModels」のリストにバインドし、それぞれのDataTemplate(= View)を定義することができます。各DataTemplateのDataContextは、ViewModelのリスト内の対応する項目に自動的に割り当てられます。
関連する問題
- 1. MVVM - コントロール対ビュー
- 2. MVVM Linq2SqlとDataContext
- 3. silverlight MVVMビュー内のビュー
- 4. MVVM複数のビューPrismの同じViewModel
- 5. WPF MVVM:タブビューのDataContextを設定する
- 6. MVVMパターン、ViewModel DataContext質問
- 7. DataContextの対EventTriggers対Window.SizeToContent
- 8. MVVM/ViewModel/UserControl/DataContext/Command - デザインの問題/ディスカッション
- 9. ビュー内の複数のVizFrames
- 10. ビューのDataContextにバインドできますが、最も内側のDataContextにはバインドできません。
- 11. 複数のDataContextへのコンボボックスのバインド
- 12. ビューからのMVVMアクセスモデル
- 13. アクセスuserctrolのDataContextのは、WPFのMVVMモードでは、私
- 14. MVVM Foundation対MVVMツールキット
- 15. Silverlight - XAMLの相対DataContext?
- 16. 複数のLinqToSql DataContextを持つStructureMap
- 17. MVVM複数のバインディングをユーザーコントロール
- 18. DataContext ComboBox ListBox内でのバインド
- 19. 角度ui-router:ネストされたビュー対複数のビュー
- 20. MVVMと複数のページでのトーンストーンニング
- 21. MVVMでは、ビュー、ビューモデル、モデルを作成するのは誰ですか?そして、それらを一緒に結ぶのは誰ですか? MVVMで
- 22. VM内のユーザーコントロールイベントまたはMVVM内のビュー
- 23. DataGridビュー内の複数のバインディングソース
- 24. 同じビュー内の複数のUIAlertViews
- 25. これは私のMVVM MVVMです。それが正しいか?
- 26. グリッド内の複数のWPF UserControl間の通信(MVVM App)
- 27. MVVM内の複数のコントロールの汎用コンテキストメニュー
- 28. ループ内で複数のボタンをビュー内に作成する
- 29. 選択した項目のObservableCollectionに複数のビューをバインドする(MVVM、SL5)
- 30. DataContextにUserControlを登録するときのWPF MVVM例外