我希望在绑定到我的View的项目发生更改时更新数据库。我注意到PropertyChanged事件在linq类中触发,但是如何告诉我的viewmodel事情已经发生了变化? 我使用Linq类作为我的模型,所以我不必重新创建它,这是不好的做法?我知道我可以在我的Linq类中创建一个新属性true或false并从我的viewmodel中使用该属性,但这不会太高效,因为每次我需要从SQL更新类时都必须重做。 / p>
答案 0 :(得分:0)
因此,不要将linq类直接绑定到视图,而是通过ViewModel中的属性公开它们。就个别收集项目通知而言,您可以使用something。
答案 1 :(得分:0)
只是为了让其他人知道我为这个场景做了什么。我确实尝试了anivas发布的链接并且它有效,但并不像我想出的解决方案那么容易。 我将所选项目绑定到我的modelView上的属性,因为它是唯一一个无论如何都可以由用户更改的属性。在我的属性的setter上,我为notifyProperty改变了一个处理程序。见下面的代码 private CustAccountLocation _selectedStore;
public CustAccountLocation SelectedStore
{
get { return _selectedStore; }
set {
_selectedStore = value;
SelectedStore.PropertyChanged += new PropertyChangedEventHandler(SelectedStore_PropertyChanged);
NotifyPropertyChanged("SelectedStore");
}
}
void SelectedStore_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
StoreNeedsSave = true;
}