Подтвердить что ты не робот

Как объявить пространство имен в 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>

Я получаю ошибку времени компиляции: '' local '- это незаявленное пространство имен.' XML недействителен.

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

4b9b3361

Ответ 1

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

xmlns:local="clr-namespace:YourApplication"

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