【问题标题】:ValidationRule with Indexer Issue带有索引器问题的 ValidationRule
【发布时间】:2011-09-09 15:14:01
【问题描述】:

我们公司正在为我们的框架使用索引器,这样我们就可以快速将数据绑定到一个窗口,而无需为每个数据源创建一个属性。由于 WPF(与 Silverlight 不同?)要求您使用 OnPropertyChanged("Item[]") 来指示更改,因此所有使用索引器的项目都会在 UI 上刷新。当控件同时使用 ValidationRule 并通过索引器访问数据时,此功能会导致问题。似乎在为索引器属性调用 OnPropertyChanged 时,它会在控件出现错误时将控件上的数据刷新为数据源中的数据。由于无法为具有键值的索引器属性调用 OnPropertyChanged,因此对另一个控件的更改最终会恢复控件中存在错误的内容。

我的问题是:有没有人能够同时使用索引器属性和 ValidationRule,以使有错误的控件在用户修复控件之前一直保持其错误?

如果没有,有人有什么建议吗?我们喜欢使用 indexer 属性,因为这使得设置绑定比为每个数据字段创建属性要快得多(我们的应用程序以 CRUD 为中心)。

【问题讨论】:

    标签: .net wpf validation c#-4.0 indexer


    【解决方案1】:

    找到的解决方案是实现一个 DynamicObject。这样做使索引器不再被使用,并回避了问题。

    【讨论】:

      猜你喜欢
      • 2015-04-20
      • 2019-02-05
      • 2015-04-23
      • 1970-01-01
      • 2021-01-24
      • 1970-01-01
      • 1970-01-01
      • 2020-10-10
      • 2018-12-08
      相关资源
      最近更新 更多