2010-03-26 56 views
2

我在我的WPF項目文件RssInfo.cs中,我有公共類參考公共類的.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代碼我NEET得到這個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

標記'DoubleRangeRule'不存在於XML名稱空間'clr-namespace:WpfCzytanieRSS;程序集= WpfCzytanieRSS'中。

錯誤2

類型 'valRule:DoubleRangeRule' 沒有被發現。驗證您是否缺少程序集引用,並且所有引用的程序集都已構建。

請幫忙去類DoubleRangeRule

回答

2

這個XAML文件與DoubleRangeRule在同一個項目中嗎?如果是這樣,您需要從xmlns聲明中刪除assembly=部分。將其更改爲:

xmlns:valRule="clr-namespace:WpfCzytanieRSS" 

如果不是,則檢查驗證規則類中聲明的命名空間。例如,如果你把它放在一個項目子文件夾,然後Visual Studio中默認添加的文件夾名稱一個嵌套的命名空間,例如namespace WpfCzytanieRSS.ValidationRules