2010-10-12 80 views
3

在我當前的項目中,我使用了幾個文本框控件,其內容由來自數據庫的對象填充。該對象使用驗證來驗證文本的正確插入。如何更改WPF中綁定選項的默認值?

當我想顯示驗證錯誤(即文本許多字符),我必須在下面的行添加一些綁定選項的文本屬性,如:

<TextBox Text="{Binding Mode=TwoWay, Path=Description, ValidatesOnDataErrors=True, NotifyOnValidationError=True, UpdateSourceTrigger=PropertyChanged}" /> 

是否有可能創造一個模板或樣式或任何改變最後三個選項(ValidatesOnDataErrors,NotifyOnValidationError,UpdateSourceTrigger)的默認值爲上面代碼中的值?文本框控件應該看起來像那麼follwing:

<TextBox Text="{Binding Mode=TwoWay, Path=Description}" /> 
+0

可能的重複http://stackoverflow.com/questions/3902470/question-about-data-template-or-style-in-wpf-xaml – 2010-10-12 14:40:05

回答

3

鑑於這是WPF(不是Silverlight的),我想你有一個選項:自定義標記擴展。這樣的擴展可以構建並返回一個Binding,只要你喜歡,而且會導致這樣一個簡單的使用模式:

<TextBox Text="{ValidatedBinding Description}"/> 

有關實現自定義標記擴展的更多信息,請參閱here

+0

如果你從一個標記擴展返回一個綁定,它不會表現如預期的那樣,但您可以直接從Binding繼承並在構造函數中設置屬性。 – Kris 2010-10-12 20:33:52

+0

這只是我需要的幫助。它像一個魅力。我創建了一個新類,並從Binding繼承,現在它可以工作。非常感謝。 :) – Bastian 2010-10-13 05:49:31