在我的 WPF 应用程序中,我使用以下 xaml:
...
<TextBox
services:TextBoxService.IsFocused="{Binding Path=IsSelected, Mode=OneWay}"
FocusVisualStyle="{x:Null}">
<MultiBinding
Converter="{StaticResource mconv_operableToString}"
UpdateSourceTrigger="PropertyChanged">
<Binding
Path="Value"
Mode="TwoWay"
NotifyOnValidationError="True" />
<Binding
RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type UserControl}}"
Path="DataContext.Status"
Mode="OneWay" />
</MultiBinding>
第一个绑定使用的视图模型类实现 IDataErrorInfo 以进行验证。问题是,虽然属性设置器捕获了错误,但 UI 没有注意到它。我有一个使用错误模板定义的样式,当文本框中发生任何错误时应该应用该样式。我想这种情况可能不允许多重绑定,因为我使用单一绑定一切正常。
提前致谢。
在我看来,没有人知道这个问题的答案,但我认为这种情况是行不通的。我会尽力回答,以防有人需要。我尝试将我的视图绑定到实现 IDataErrorInfo 的视图模型类,在 xaml 中我指定了一个转换器,尽管一切正常,但错误并没有显示在 UI 上。因此,我从绑定中删除了转换器,并在视图模型中实现了该逻辑,瞧,现在一切正常了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)