gpt4 book ai didi

WPF MVVM : Notify property changed one property everytime some other property is changed

转载 作者:行者123 更新时间:2023-12-03 10:24:35 28 4
gpt4 key购买 nike

我有一个 ViewModelBase 类,我在其中为 INotifyPropertyChanged 接口(interface)定义了 RaisePropertyChanged 方法。大多数 MVVM 人都非常熟悉这一点。

我还有一个从 ViewModelBase 继承的 Validating ViewModel。它实现了一个接口(interface)和一些方法来验证它的属性。它有一个 IsValid 属性,它是唯一一个检查是否存在任何违反规则的 getter。但是,如果我不想在 View 中绑定(bind)到此属性,则必须在某个时间进行更新。这基本上是每次更改其他一些属性时,或者至少是我验证的属性。一种简单的解决方案是仅在 RaisePropertyChanged 方法内通知 IsValid,但它是在未定义 IsValid 的 ViewModelBase 中定义的。

你们中的任何人都有解决这个困境的好方法吗?

最佳答案

如果您遵循标准事件处理模式,您的 RaisePropertyChanged方法将被标记为 virtual (它可能应该是 protected virtual 方法),因此您将能够在验证 View 模型中覆盖该方法,调用基本实现,然后调用 PropertyChanged IsValid 的事件属性(property)。

我不太确定你在做什么,但如果是一般验证,你最好使用诸如 DataAnnotations 之类的框架。 .

关于WPF MVVM : Notify property changed one property everytime some other property is changed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5057444/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com