Пользовательское правило проверки не найдено в пространстве имен

По какой-то причине моя программа не нашла моего Пользовательского правила проверки для моего TextBox. Я определяю пространство имен, в котором находится мое правило проверки

xmlns:valRule="clr-namespace:MovieDB.UI.Validation"  

и я связываю свое правило с TextBox

 <TextBox x:Name="textBoxName" Height="23" Margin="59,13,10,0" TextWrapping="Wrap" VerticalAlignment="Top">
        <TextBox.Text>
            <Binding Path="archiveName">
                <Binding.ValidationRules>
                    <valRule:ArchiveNameValidationRule />
                </Binding.ValidationRules>
            </Binding>
        </TextBox.Text>
    </TextBox>

Я определяю мое правило здесь

namespace MovieDB.UI.Validation
{
    public class ArchiveNameValidationRule : ValidationRule
    {

        private static char[] FORBIDEN_CHARS = new char[] { '*', '&', '#', '/', ' ', '\\', '+', '=', '?', ')', '(', ']', '[', '}',
            '{', '%', '$', '§', '"', '!', 'ö', 'ü' ,'ä', 'Ä', 'Ö', 'Ü', ':', '.', ';', ',', };

        public override ValidationResult Validate(object value, CultureInfo cultureInfo)
        {
            String val = value as String;
            bool result = val.IndexOfAny(FORBIDEN_CHARS) != -1;
            ValidationResult vr = new ValidationResult(result, "Es sind nur Zahlen, Buchstaben und Unterstriche erlaubt.");
            return vr;
        }
    }
}

Я всегда получаю ошибку:

Тег ArchiveNameValidationRule не существует в пространстве имен "clr-namespace:MovieDB.UI.Validation".

даже если я найду правило в том же пространстве имен, что и окно, у меня ничего не получится.

ОБНОВЛЕНИЕ: Если я изменяю Целевую платформу, мое новое правило проверки будет найдено после повторного открытия проекта.

0 ответов

Другие вопросы по тегам