2011-08-08 26 views
1

我創建了一個繼承自ValidationRule的IntegersValidationRule類。現在我不知道應該在XAML中寫什麼代碼。這就是我:
wpf驗證規則與文本框問題

<TextBox Name="defaultTxt" 
    Height="23" Width="200"> 
    <TextBox.Text> 
    <Binding UpdateSourceTrigger="PropertyChanged"> 
     <Binding.ValidationRules> 
     <what:IntegersValidationRule/> 
     </Binding.ValidationRules> 
    </Binding> 
    </TextBox.Text> 
</TextBox> 

我知道,無論我很愚蠢,我不能在很多教程中綁定屬性的意思路徑明白,我們爲什麼要在這裏使用綁定沒有結合所必需的時候,那裏已經和我應該用什麼來代替Binding.ValidationRule中的'what'字。

回答

2

what是一個xmlnssee MSDN),它需要指向聲明驗證規則類的名稱空間,例如,

xmlns:what="clr-namespace:MyApp.MyValidationRules" 

如果您沒有添加Path- 怎麼樣讀這個,如果你不明白嗎? -)的結合將綁定到當前DataContext,不管這可能是你的情況。

1
  • 問題1:驗證器處理綁定。這就是爲什麼你要在綁定上指定規則的原因。只要將值更新爲源(控件所綁定的對象),就會檢查規則。

  • 問題2:見H.的回答