【问题标题】:How to implement IDataErrorInfo on string indexers databinding?如何在字符串索引器数据绑定上实现 IDataErrorInfo?
【发布时间】:2011-08-24 00:38:37
【问题描述】:

使用 xaml(注意字典条目 Attributes[Welcome] 上的绑定):

 堆栈面板>
    网格>
当视图模型将 IDataErrorInfo 实现为: public string Error { get { return ""; } } public string this[string columnName] { get { return "Compulsory Error"; } }

只有 columnName == "Test" 通过。因此我得到以下应用程序:
如何验证为属性字典设置的值?

【问题讨论】:

    标签: wpf silverlight mvvm


    【解决方案1】:

    除了使用 Dictionary 之外,更“MVVMish”的方式是为要在列表中显示的项目创建一个简单的 ViewModel。然后将它们添加到列表(而不是字典)并绑定到这些项目。然后,您可以在这些 ViewModel 上实现 IDataErrorInfo(以及任何其他自定义逻辑或您需要的任何其他内容)。

    【讨论】:

    • 不。 IList 并不比 IDictionary 更 mvvmish。更不用说我将绑定到 Attributes[0] 而不是 Attributes[Welcome] 之类的东西。不用说哪个 xaml 更干净。
    【解决方案2】:

    我认为我需要在 Dictionary 而不是包含字典的 viewmodel 上实现 IDataErrorInfo。但由于 IDataErrorInfo 成员与 IDicitonary 冲突。我最终实现了 INotifyDataErrorInfo。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-11
      • 1970-01-01
      • 2019-05-08
      • 2012-10-26
      相关资源
      最近更新 更多