たとえば、保留中の変更がある各ドキュメントの横にある Visual Studio の赤い点のような視覚的な合図が必要な場合、モデルがエンティティ フレームワーク モデルである MVVM を使用してそれを実装する通常の方法は何ですか? ビュー モデル レベルで IsDirty フラグを保持するだけですか? エンティティが更新されたかどうかを確認するために、db コンテキストで DetectChanges を呼び出し続けたくないと思います。
1 に答える
0
モデル オブジェクトが INotifyPropertyChange を実装している場合は、いつでも PropertyChanged イベントをタップできます。プロパティが同じ値に設定されていることを確認するとします。たとえば、次のようになります。
public string Name
{
get { return _name; }
set
{
if(_name == value) return;
_name = value;
RaisePropertyChanged("Name");
}
}
モデルのプロパティがViewModelから変更されているかどうかを確認し、ViewModelのフラグを介してそのアイコンを表示/非表示にできます。次のようなものです。
public class TreeItemViewModel
{
public TreeViewModel(TreeItem model)
{
model.PropertyChanged += OnTreeItemModified();
}
private void OnTreeItemModified(object sender, EventArgs e)
{
DisplayIcon = true;
}
}
于 2012-11-20T23:00:15.263 に答える