我错了或属性只能一次执行一个转换器?

时间:2012-01-25 20:59:37

标签: c# wpf validation triggers converter

这是一个样式有错误模板并使用转换器。

       <Style TargetType="{x:Type TextBox}">
            <Setter Property="Validation.ErrorTemplate">
                <Setter.Value>
                    <ControlTemplate />
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <Trigger Property="Validation.HasError" Value="True" >
                    <Setter Property="Background" Value="Salmon" />
                    <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors),
                        Converter={x:Static waf:ValidationErrorsConverter.Default}}"/>
                </Trigger>
            </Style.Triggers>
        </Style>

之后,我需要将文本值转换为另一个值。

<TextBox Grid.Column="4" Text="{Binding Problem.Response, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True, ValidatesOnExceptions=True, NotifyOnValidationError=True, Converter={x:Static c:IntConverter.Default}}" >

在这种情况下,正在运行IntConverter。 关键是,如果我删除IntConverter,则使用ValidationErrorsConverter.Default。

因此,我需要在必要时运行两个转换器。

1 个答案:

答案 0 :(得分:1)

不要认为在Converter中绑定多个XAML是可能的。你能做的就是编写你自己的东西,在一些外部状态/变量上运行一个或另一个代码。所以你有一个传送器在不同的sutuations中以不同的方式运行。