在命名空间中找不到自定义验证规则

Dan*_*iel 5 c# validation wpf namespaces validationrule

由于某种原因,我的程序找不到我的自定义验证规则 f\xc3\xbcr 我的文本框。我定义验证规则所在的命名空间

\n\n
xmlns:valRule="clr-namespace:MovieDB.UI.Validation"  \n
Run Code Online (Sandbox Code Playgroud)\n\n

我将我的规则绑定到文本框

\n\n
 <TextBox x:Name="textBoxName" Height="23" Margin="59,13,10,0" TextWrapping="Wrap" VerticalAlignment="Top">\n        <TextBox.Text>\n            <Binding Path="archiveName">\n                <Binding.ValidationRules>\n                    <valRule:ArchiveNameValidationRule />\n                </Binding.ValidationRules>\n            </Binding>\n        </TextBox.Text>\n    </TextBox>\n
Run Code Online (Sandbox Code Playgroud)\n\n

我在这里定义我的规则

\n\n
namespace MovieDB.UI.Validation\n{\n    public class ArchiveNameValidationRule : ValidationRule\n    {\n\n        private static char[] FORBIDEN_CHARS = new char[] { \'*\', \'&\', \'#\', \'/\', \' \', \'\\\\\', \'+\', \'=\', \'?\', \')\', \'(\', \']\', \'[\', \'}\',\n            \'{\', \'%\', \'$\', \'\xc2\xa7\', \'"\', \'!\', \'\xc3\xb6\', \'\xc3\xbc\' ,\'\xc3\xa4\', \'\xc3\x84\', \'\xc3\x96\', \'\xc3\x9c\', \':\', \'.\', \';\', \',\', };\n\n        public override ValidationResult Validate(object value, CultureInfo cultureInfo)\n        {\n            String val = value as String;\n            bool result = val.IndexOfAny(FORBIDEN_CHARS) != -1;\n            ValidationResult vr = new ValidationResult(result, "Es sind nur Zahlen, Buchstaben und Unterstriche erlaubt.");\n            return vr;\n        }\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我总是收到错误:

\n\n
\n

命名空间\n \'clr-namespace:MovieDB.UI.Validation\' 中不存在标记 ArchiveNameValidationRule。

\n
\n\n

即使我将规则定位在与窗口相同的命名空间中,我也没有成功。

\n\n

更新:\n如果我更改目标框架,则在重新打开项目后会发现新的验证规则。

\n