【问题标题】:PropertyDescriptor.AddValueChanged handler will not be executed with empty or white spaces stringPropertyDescriptor.AddValueChanged 处理程序不会使用空或空格字符串执行
【发布时间】:2013-01-29 13:23:44
【问题描述】:

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

我必须执行此案例来更新我的 Save 按钮的 IsEnabled 属性。

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

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

【问题讨论】:

    标签: c# wpf binding propertydescriptor


    【解决方案1】:

    我发现了一种新行为。

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

    【讨论】:

      猜你喜欢
      • 2019-05-03
      • 1970-01-01
      • 2011-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      相关资源
      最近更新 更多