2017-01-17 164 views
1

有沒有辦法將我的自定義DependencyProperty的ValidatesOnDataErrors設置爲True,所以我不必每次綁定到它時都這樣做? this的內容。有沒有辦法指定一個自定義依賴屬性的默認ValidatesOnDataErrors?

public static readonly DependencyProperty TextProperty = 
     DependencyProperty.Register(nameof(Text), typeof(string), 
      typeof(ErrorTextEdit), new FrameworkPropertyMetadata(null) 
      { 
       BindsTwoWayByDefault = true, 
       DefaultUpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged, 
       // Something Here maybe??? 
      }); 

    public string Text 
    { 
     get { return (string) GetValue(TextProperty); } 
     set { SetValue(TextProperty, value); } 
    } 

我的控件也可以從TextBox繼承,如果有幫助的話。

回答

3

不,我恐怕不是。這是Binding類的屬性,而不是依賴項屬性。什麼,你可以到與自定義標記擴展設置ValidatesOnDataErrors屬性爲您更換您的XAML標記的{Binding}標記擴展:

How can i change the default values of the Binding Option in WPF?

或創建自定義綁定類:

public class CustomBinding : Binding 
{ 
    public CustomBinding(string path) 
     :base(path) 
    { 
     this.NotifyOnValidationError = true; 
    } 
} 

用法:

<TextBlock Text="{local:CustomBinding Name}" /> 
+0

這是一個非常優雅的做法,我沒有考慮過。 – gajo357

相關問題