验证和多重绑定的问题

时间:2010-06-16 09:42:03

标签: wpf idataerrorinfo multibinding

在我的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并未注意到它。我有一个定义了错误模板的样式,当文本框中出现任何错误时应该应用该模板。我想多边绑定可能不允许这种情况,因为我使用单一绑定时一切正常。

提前致谢。

1 个答案:

答案 0 :(得分:3)

在我看来,没有人知道答案,但我认为这种情况不起作用。如果有人需要,我会尽力回答。我试图将我的View绑定到实现IDataErrorInfo的View Model类,在xaml中我指定了一个转换器,虽然一切正常但是错误只是没有出现在UI上。所以,我从绑定中删除了转换器并在View Model中实现了这个逻辑,现在一切正常。