私はmvvmに比較的慣れていませんが、ビューモデルからのバインディングについて質問があります. コンストラクターにオブザーバブルコレクションを設定したいビューモデルがあります。私のコンストラクタは次のようになります。
public StudySelectionViewModel() : base() {
_studyRepository = StudyRepository.Instance;
InitializeViewModelData();
}
InitializeViewModelData() は次のようになります。
private void InitializeViewModelData() {
_studyRepository.RetrieveModalityTypes();
RaisePropertyChanged("ModalityTypes");
}
私のプロパティ ModalityTypes は次のようになります。
public ObservableCollection<ModalityType> ModalityTypes {
get {
return _studyRepository.ModalityTypes;
}
}
言うまでもなく、私のリポジトリはデータベースを呼び出してデータを取得します。デバッグ時に、_studyRepository.RetrieveModalityTypes メソッドが実行されるよりも前に RaisePropertyChanged が実行されるように見えるため、空のプロパティにバインドされます。
ここで何か不足していますか?私のデザインは悪いですか?何か案は?
前もって感謝します、