0

我正在使用 propertyDescriptor 在实例的每个属性上附加一个处理程序。当这些属性之一发生更改时,将调用处理程序方法,除非在一种情况下(这是问题所在):当值是字符串并且此字符串为空或仅包含空格时。

我必须执行这种情况来更新我的Save按钮的IsEnabled属性。

foreach (PropertyDescriptor propertyDescriptor in TypeDescriptor.GetProperties(this.MyInstance))
{
    propertyDescriptor.RemoveValueChanged(this.MyInstance, this.MyMethod);
}

例如,当我编辑用户的名字并删除他的名字时,我的保存按钮必须被禁用。

4

1 回答 1

0

我发现了一种新的行为。

所有属性都与 WPF 应用程序中的绑定一起使用。仅当 UpdateSourceTrigger 属性设置为 LostFocus 时才调用 MyMethod。使用 PropertyChanged 值,它不会。对于某些属性,我必须使用 PropertyChanged 值:例如动态 ValidationRules。

于 2013-02-04T13:17:31.557 回答