私はC#を学び始めました。私は現在いくつかのプリズムを学んでいます。 私はプロジェクトの構造とインターフェイス全体にいくつかの問題があります。あなたは私を助けてくれますか?プリズムMVVM構造
私は、すべてのViewModels
が
を実装していることがBindableBaseインターフェイスを継承していることを知りました。しかし、モデルはどうですか?
IE:私は従業員モデルを持っています。それは私のセットと取得とOnPropertyChangedの実装で私のクラス属性を持っています。あれは正しいですか?
モデルはINotifyPropertyChanged
とViewModel
を実装しており、
はBindableBase
を継承していますか?
「BindableBase」は、インターフェイスの実装とは異なるものを継承する基本クラスであることを指摘することが重要です。私はMVVMLightに慣れているので、私はあなたの実際の質問に答えることができません申し訳ありません。 – Filburt
あなたのモデルにはあなたのクラスとそれに関連するすべての機能が含まれます。 ViewModelにはすべてのロジックが含まれます。ビューには、すべてのイベントハンドラとGUIが含まれます。 –
**すべてのViewModelは** BindableBase' **クラス**を拡張する必要があります(これはインターフェイスではありません)。 'BindableBase'は' INotifyPropertyChanged'を実装するうえできちんとした方法を持っていますし、それを使うかどうかはあなた次第です。それを使用しないと、何も起こりません。 'INotifyPropertyChanged'を実装するだけです。あなたがそれを使用することを決めた場合、あなたのモデルでそれを使用することに問題はありませんが、そうするときにプリズムアセンブリを含める必要があります。 'BindableBase'のソースコード:https://github.com/PrismLibrary/Prism/blob/master/Source/Prism/Mvvm/BindableBase.cs – kha