这是一个样式有错误模板并使用转换器。
<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。
因此,我需要在必要时运行两个转换器。
答案 0 :(得分:1)
不要认为在Converter
中绑定多个XAML
是可能的。你能做的就是编写你自己的东西,在一些外部状态/变量上运行一个或另一个代码。所以你有一个传送器在不同的sutuations中以不同的方式运行。