私はWPF MVVMを使い始めましたが、ちょっと立ち往生しました。 MVVMとwpfを使用して、同じビューで約100の異なるテーブルを切り替える必要があります。 私はテーブル名のリストを持つツリービューを持っていて、ツリービューの横に正しいDataGridが表示されなければならない項目を選択しました。 テーブルごとにModelクラスとViewModelクラスを作成しました。しかし、バインドする正しいViewModelを選択に応じてどのように選択すればよいですか。wpfを使用して同じビュー上のビューモデルを切り替えるmvvm
1
A
答えて
0
私はあなたの問題を正しく理解していれば、設計に問題があります。ツリービューでBinding
thisを参照してください -
まず はTreeView
SelectedItem
を使用するには、あなたのSelectedItem
得ます。しかし、あなたはコードの背後に悪い方法を行うことができます。
セカンドバインドごSelectedItem
だから、あなたが何をしたいです:ContentControl
またはContentPresenter
のようなものにSelectedItem
をバインド 。あるいは、コードの背後にある悪い方法でやってください。このような例
:あなたは別のDataGrids
をお持ちの場合は
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TreeView ItemsSource="{Binding MyItemSource}">
<!-- Get the selected item here (watch how to in the linked answer) -->
</TreeView>
<ContentPresenter Grid.Column="1"
Content="{Binding Path=SelectedItem}"
>
<ContentPresenter.ContentTemplate>
<DataTemplate>
<DataGrid>
<!-- Your DatGrids or what ever -->
</DataGrid>
</DataTemplate>
</ContentPresenter.ContentTemplate>
</ContentPresenter>
</Grid>
サード(オプション)あなたは、あまりにもあなたのSelectedItemに応じて、あなたのビューを変更するにはDataTemplateSelectorを使用することができます。この例ではContentPresenter
で使用します。
関連する問題
- 1. 同じコントローラを使用してデータを切り替えるAngularJS
- 2. コントローラー内のビューモデルを切り替える
- 3. UISegmentedControlを使用して2つのビューを切り替える
- 4. プリズムは同じ領域のビュー間で切り替える
- 5. Prism、MVVM、Unityを使用した切り替えナビゲーションの表示
- 6. iOS:UINavigationBarControllerを使用してビューを切り替える
- 7. 同じタッチのビューでのジェスチャーの切り替え
- 8. wpf mvvmコマンドを使用してビューモデル間でパラメータを渡す
- 9. 他のビューの切り替えに切り替えるapp xcode
- 10. WPFの切り替えボタン
- 11. iOS上の「真の」MVC用のビュー切り替えフレームワーク
- 12. ビュー間の切り替え
- 13. 戻り値を使用してビュー切り替えを実装する
- 14. アニメーションビュー切り替えwpf
- 15. MVVMとビューモデル通信を使用したWPFウィンドウのモーダルダイアログ
- 16. 同じウィンドウ内のビューの切り替えページの新規インスタンスを作成せずにWPF
- 17. メニュー項目を切り替えるWPF?
- 18. 関数を使ってビューを切り替える
- 19. 指を使ってビューを切り替える方法は?
- 20. backbone.jsでルータを使用してビューを切り替える方法
- 21. Objective-CとInterface Builderを使用してビューを切り替える方法
- 22. ViewSwitcherをビュー間で切り替える
- 23. ビューを切り替える方法
- 24. modalViewControllerでビューを切り替える
- 25. drupalでビューを切り替える
- 26. ボタンでビューを切り替える
- 27. iPhoneスワイプUIScanを切り替えるビュー
- 28. AppiumをWebビューに切り替える
- 29. ビュー/ポップアップウィンドウを切り替える
- 30. IntelliJの同じペインのウィンドウを切り替える
コードがどのように見えるかわかっていると助かります。 1つのTreeViewエントリと1つのDataGridに同じViewModelを使用できます。 –
こんにちはMighty、すべて私は現在、INotifyPropertyChangedでモデルモデルとビューモデルクラスを持っています。私はPeterが提案したことを実装しようとしていますが、それでもまだあまり成功していません。 – Vadim