【发布时间】:2010-07-20 13:01:03
【问题描述】:
我在 wpf - mvvm 模型中工作。
我有一个包含“marketName”的文本框。在 xaml 中,我将属性 - “newmarketname”(在我的视图模型中定义)绑定到此文本框。一旦用户在该文本框中输入新的市场名称,“newmarketname”的“set”方法就会被调用。
在“newmarketname”的set方法中,我调用了PropertyChanged事件。
属性更改处理程序将调用一个函数,在该函数中我检查市场名称是否已经存在;如果“是”,我会将 string.Empty 分配给属性“newmarketname”。 所以“newmarketname”的set方法再次被调用,然后是PropertyChanged事件。
但问题是:即使“newmarketname”的值变为空,它也不会反映在 UI 中。
有什么问题?
【问题讨论】:
-
如果您发布代码可能会有所帮助
-
此 PropertyChanged 事件是否与 INotifyPropertyChanged 相关?如果是,那么为什么要从那里调用该函数(以检查现有市场名称),为什么不在 setter 本身中执行该检查,然后更新变量并调用 PropertyChanged 事件?
-
Bcoz...对于此视图模型中的所有属性...我正在调用一种方法...在哪里,取决于属性我会做些什么...
-
尝试使用依赖属性和 PropertyChangedCallback 来做这件事。
-
这两者有什么区别?..我的意思是...DP和带有PropertyChanged事件的普通CLR属性
标签: wpf mvvm uiview inotifypropertychanged