C# 使用WPF和MMVM中的验证规则验证组合框

C# 使用WPF和MMVM中的验证规则验证组合框,c#,wpf,validation,mvvm,C#,Wpf,Validation,Mvvm,我试图使用验证规则验证WPF/MVVM中的组合框选定项,但无法使其正常工作。我有这个XAML: <ComboBox Grid.Row="2" Margin="0,0,0,5" Grid.Column="1" ItemsSource="{Binding Tiers}" Validation.ErrorTemplate="{StaticResource DefaultErrorTemplate}" DisplayMemberPath="Description" SelectedVal

我试图使用验证规则验证WPF/MVVM中的组合框选定项,但无法使其正常工作。我有这个XAML:

   <ComboBox Grid.Row="2"  Margin="0,0,0,5" Grid.Column="1" 
ItemsSource="{Binding Tiers}" Validation.ErrorTemplate="{StaticResource DefaultErrorTemplate}"
DisplayMemberPath="Description"
SelectedValuePath="Id">        
<ComboBox.SelectedItem>
    <Binding Path="SelectedSchoolProgramTierCombined.TierId" ValidatesOnDataErrors="True" 
        Mode="TwoWay" UpdateSourceTrigger="PropertyChanged">
        <Binding.ValidationRules>
            <validationRules:RequiredValidationRule/>
        </Binding.ValidationRules>
    </Binding>
</ComboBox.SelectedItem>

如果您有任何想法,我们将不胜感激。

什么叫“它不起作用”?您的ValidationRule没有被输入吗?你的验证方法不是应该做的吗?ValidationError模板是否在UI上正确显示?SelectedSchoolProgramTierCombined是否实现IDataErrorInfo?还要确保将NotifyOnValidationErrors设置为true。
 public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
    {
        if (value == null || object.Equals(value, string.Empty))
            return new ValidationResult(false, "The field is mandatory.");
        else
            return ValidationResult.ValidResult;
    }