我的WPF项目文件RssInfo.cs中有公共类
public class DoubleRangeRule : ValidationRule
{
public double Min { get; set; }
public double Max { get; set; }
public override System.Windows.Controls.ValidationResult Validate(object value,
CultureInfo cultureInfo)
{
...
}
}
从WPF窗口类的我的XAML代码中我得到了这个DoubleRangeRule类..
<!-- reference to my project, all my files are in the WpfCzytanieRSS namespace -->
xmlns:valRule="clr-namespace:WpfCzytanieRSS;assembly=WpfCzytanieRSS"
<TextBox Validation.ErrorTemplate="{StaticResource TextBoxErrorTemplate}"
Name="tbTitle">
<TextBox.Text>
<Binding Path="Nazwa" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<valRule:DoubleRangeRule Min="0.5" Max="10"/> //error place
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
我得到两个错误:
错误1
XML命名空间'clr-namespace中不存在标记'DoubleRangeRule':WpfCzytanieRSS; assembly = WpfCzytanieRSS'。
错误2
找不到类型'valRule:DoubleRangeRule'。验证您是否缺少程序集引用,并且已构建所有引用的程序集。
请帮助上课 DoubleRangeRule !
答案 0 :(得分:2)
这个XAML文件与DoubleRangeRule在同一个项目中吗?如果是这样,您需要从xmlns声明中删除assembly=
部分。将其更改为:
xmlns:valRule="clr-namespace:WpfCzytanieRSS"
如果没有,则检查声明验证规则类的名称空间。例如,如果已将其放在项目子文件夹中,则默认情况下Visual Studio会将文件夹名称添加为嵌套名称空间,例如namespace WpfCzytanieRSS.ValidationRules
。