Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Validation.ErorrTemplate在Xaml(Wpf)中对viewModel的动态更改_C#_Wpf_Xaml_Mvvm - Fatal编程技术网

C# Validation.ErorrTemplate在Xaml(Wpf)中对viewModel的动态更改

C# Validation.ErorrTemplate在Xaml(Wpf)中对viewModel的动态更改,c#,wpf,xaml,mvvm,C#,Wpf,Xaml,Mvvm,是否有方法根据IDataErrorInfo的mvvm样式中的属性错误类型,从viewModel更改Validation.ErrorTemplate 例如,我有一个属性,它有两个不同的验证模板,一个以某种方式显示,另一个以另一种方式根据属性显示(如果需要),如果超过了已选择的模板,则显示已选择的模板(如果超过已选择的模板),则显示第二个模板 提前谢谢 Ben在你的资源中使用这个 <ControlTemplate x:Key="ct1"> <!--Your First Te

是否有方法根据IDataErrorInfo的mvvm样式中的属性错误类型,从viewModel更改Validation.ErrorTemplate

例如,我有一个属性,它有两个不同的验证模板,一个以某种方式显示,另一个以另一种方式根据属性显示(如果需要),如果超过了已选择的模板,则显示已选择的模板(如果超过已选择的模板),则显示第二个模板

提前谢谢
Ben

在你的资源中使用这个

<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>


你的意思是,你需要根据Peoperty值更改控件验证模板?是的,有些人这样认为SAFI不是我想要的。我需要一个通用的方法。当my(Validation.Errors).CurrentItem.ErrorContent检索错误消息时,我需要以某种方式检索errorMessageType(可能是枚举值),我可以切换dataTemplate(枚举应该是必需的,警告,范围),当然我不想在dataTrigger中指定属性的绑定