在我的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并未注意到它。我有一个定义了错误模板的样式,当文本框中出现任何错误时应该应用该模板。我想多边绑定可能不允许这种情况,因为我使用单一绑定时一切正常。
提前致谢。
答案 0 :(得分:3)
在我看来,没有人知道答案,但我认为这种情况不起作用。如果有人需要,我会尽力回答。我试图将我的View绑定到实现IDataErrorInfo的View Model类,在xaml中我指定了一个转换器,虽然一切正常但是错误只是没有出现在UI上。所以,我从绑定中删除了转换器并在View Model中实现了这个逻辑,现在一切正常。