我想在同一个元素上触发多个验证。我找到了代码,但我不明白在哪种情况下会触发验证。xml代码如下:
<ComboBox 
            x:Name="CreditedParty"
            Style="{StaticResource FormControlStyle}"
            Grid.Row="3" Grid.Column="1" Grid.ColumnSpan="2"
            ItemsSource="{Binding CreditedParties}"
            SelectedItem="{Binding Amount, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}"
            DisplayMemberPath="Name"/>
        <ContentPresenter 
            Grid.Row="4" Grid.Column="1" Grid.ColumnSpan="2"
            Content="{Binding ElementName=CreditedParty, Path=(Validation.Errors).CurrentItem}"/>
vtewmodel.cs 文件的代码如下:
   public string Error
    {
        get { return (_debitNote as IDataErrorInfo).Error; }
    }
    public string this[string columnName]
    {
        get
        {
            string error = null;
            if (columnName == "Amount")
            {
                decimal amount;
                error = ValidateAmount(out amount);
                if (!string.IsNullOrEmpty(error)) return error;
                _debitNote.Amount = amount;
                error = (_debitNote as IDataErrorInfo)["Amount"];
            }
            else if (columnName == "CreditedParty")
            {
                error = ValidateCreditedParty();
                if (!string.IsNullOrEmpty(error)) return error;
                error = (_debitNote as IDataErrorInfo)["CreditedParty"];
            }
            else if (columnName == "DebitedParty")
            {
                error = ValidateDebitedParty();
                if (!string.IsNullOrEmpty(error)) return error;
                error = (_debitNote as IDataErrorInfo)["DebitedParty"];
            }
            else
            {
                error = (_debitNote as IDataErrorInfo)[columnName];
            }
            CommandManager.InvalidateRequerySuggested();
            return error;
        }
    }
    private string ValidateAmount(out decimal amount)
    {
        amount = -1;
        string error = null;
        if (string.IsNullOrEmpty(_amountString))
            error = Strings.JournalViewModel_Amount_Missing;
        else if (!decimal.TryParse(_amountString, out amount))
            error = Strings.JournalViewModel_Amount_NaN;
        return error;
    }
    private string ValidateCreditedParty()
    {
        string error = null;
        if (_debitNote.CreditedParty == _blankCreditedParty)
            error = Strings.JournalViewModel_CreditedParty_NotSpecified;
        return error;
    }
    private string ValidateDebitedParty()
    {
        string error = null;
        if (_debitNote.DebitedParty == _blankDebitedParty)
            error = Strings.JournalViewModel_DebitedParty_NotSpecified;
        return error;
    }
    #endregion
此代码如何触发多个验证?谁能回答。