【发布时间】:2018-09-04 12:27:00
【问题描述】:
给定一个具有直接绑定和验证的文本框:
<TextBox Content="{Binding ProblematicText}" ValidationRule="...">
以及我的 DataContext 中的源属性:
public string ProblematicText
{
// ...
}
在代码中我必须使用属性“ProblematicText”的值,除非 TextBox 在其 ValidationRule 中有错误。
如何从代码中访问BindingExpression.HasError 或简单地实现这一点?
【问题讨论】:
-
ps:我显然没有办法使用
BindingOperations.GetBindingExpression(dependencyObject, dependencyProperty);,因为它们是“未知的”。 -
我以这种方式访问各种属性。我在 XAML(视图)中绑定属性,但在 C#(视图模型)中,我不知道哪个 gui 元素位于哪个属性后面。
-
您应该在视图模型中处理验证逻辑。看我的回答。
标签: c# wpf validation binding