【问题标题】:How to declare a namespace in WPF XAML?如何在 WPF XAML 中声明命名空间?
【发布时间】:2011-01-06 12:30:53
【问题描述】:

我试图在 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 无效。

我应该如何在我的 XAML 中声明 local:posintValidationRule

【问题讨论】:

    标签: wpf validation xaml namespaces


    【解决方案1】:

    在 XAML 文件的顶部,您需要声明您的“本地”命名空间是什么;以及默认的 Microsoft XAML 内容。像这样的:

    xmlns:local="clr-namespace:YourApplication"
    

    请注意,这里假定“posintValidationRule”是在“YourApplication”的根命名空间中定义的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多