![]() |
1
8
我不把验证逻辑放在索引器中。这会将对验证时间的控制权转到视图上。在方案中,只要视图请求属性的错误信息,它就会触发验证。我不知道会发生这种情况的每一种情况,我打赌你也不知道。 相反,我将属性的验证逻辑(更准确地说,是对验证函数的调用)放在其setter中。我将错误消息存储在键入属性名称的字典中,并让索引器查找该属性的错误消息。 那么,默认情况下,错误消息是最新的,具有该属性的当前值。每当视图更新一个属性并请求它的新错误信息时,它就会得到正确的答案。
但是你也可以很好地控制字典中的内容。如果希望某个属性在UI中显示为有效,只需清除字典中的错误消息(并引发
|
![]() |
2
2
如果您努力发布相关代码/xaml的片段,您可以得到更好的答案。这将使复制和消除许多猜测变得更容易。
尝试设置
|
![]() |
3
2
只是为了说明我如何利用
我调用了一个名为
然后在里面
然后在我的
效果很好。现在我只有验证样式出现在用户编辑表单之后。
如果你想在蛋糕上加点糖霜,你可以在我的评论中
只有当您的表单也有效时,您的按钮才会启用。:) 享受吧!祝巨兽WPF好运。 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 5 月前 |
![]() |
Barta · WPF MVVM不更新视图 6 月前 |
![]() |
Denis Ivanov · WPF控件在属性更改时不会更新 6 月前 |
![]() |
codymanix · WPF:TextBlock周围可见小边框? 7 月前 |
![]() |
Nostromo · 来自背景对象的工具提示 10 月前 |
![]() |
Nuvolari · 从可观测集合添加/删除时出现对象处理异常 1 年前 |
![]() |
CCarter · 只能在设计器中DependencyObject的DependencyProperty上设置显示“Binding”的WPF ICommand DependencyProperties[重复] 1 年前 |
![]() |
Thern · 在UI线程(WPF)上的void方法中调用异步函数 1 年前 |