Как объявить пространство имен в WPF XAML?

Я пытаюсь использовать в WPF вход проверки связанных с данными средств управления с правилами проверки. В коде позади файла wpf окна у меня есть класс:

public class posintValidationRule : ValidationRule
{
    public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
    {
        string _strInt = value.ToString();
        int _int = -1;
        if (!Int32.TryParse(_strInt, out _int))
            return new ValidationResult(false, "Value must be an integer");
        if (_int < 0)
            return new ValidationResult(false, "Value must be positive");
        return new ValidationResult(true, null);
    }
}

В XAML существует также ошибочный шаблон стиля.

Когда я поместил текстовое поле с проверкой в XAML:

<TextBox.Text>
    <Binding Path="seconds" UpdateSourceTrigger="PropertyChanged">
        <Binding.ValidationRules>
           <local:posintValidationRule/> 
        </Binding.ValidationRules>
    </Binding>
</TextBox.Text>

Я получаю ошибку времени компиляции: ''локальный' необъявленное пространство имен'. XML не допустим.

Как я должен объявить local:posintValidationRule в моем XAML?

26
задан Sнаđошƒаӽ 9 March 2017 в 15:29
поделиться

1 ответ

В верхней части вашего XAML-файла необходимо объявить ваше "локальное" пространство имен; наряду с данными по умолчанию для Microsoft XAML. Что-то вроде этого:

xmlns:local="clr-namespace:YourApplication"

Обратите внимание, что это предполагает, что "posintValidationRule" определено в корневом пространстве имен в "YourApplication".

51
ответ дан 28 November 2019 в 07:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: