从Xaml中的viewModel验证.ErorrTemplate动态更改(Wpf)

时间:2015-01-25 15:57:11

标签: c# wpf xaml mvvm

有没有办法从viewModel更改Validation.ErrorTemplate,基于具有IDataErrorInfo的mvvm样式的属性Error Type。

EG。我有一个带有两个不同验证模板的属性,一个以某种方式显示,另一个以另一种方式基于属性,如果需要显示选择的模板,如果超过选择第二个。

提前致谢 本

1 个答案:

答案 0 :(得分:0)

在您的资源中使用它

<ControlTemplate x:Key="ct1">
    <!--Your First Template-->
</ControlTemplate>
<ControlTemplate x:Key="ct2">
    <!--Your Second Template-->
</ControlTemplate>

<Style TargetType="TextBox">
    <Style.Triggers>
        <DataTrigger Binding="{Binding YourProperty}" Value="yourValue1">
            <Setter Property="Validation.ErrorTemplate" Value="{StaticResource ct1}"></Setter>
        </DataTrigger>
        <DataTrigger Binding="{Binding YourProperty}" Value="yourValue2">
            <Setter Property="Validation.ErrorTemplate" Value="{StaticResource ct2}"></Setter>
        </DataTrigger>
    </Style.Triggers>
</Style>