2010-02-16 145 views
3

我創建了一個名爲MyCustomComboBox的自定義用戶控件。無處不在的應用程序,我把它放在我做了以下內容:綁定WPF的默認設置DependencyProperty

<Widgets:MyCustomComboBox 
     Foo="{Binding Foo, 
      UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" /> 

MyCustomComboxBox有依賴屬性Foo,我在這是非常理性的組合框一些驗證和其他邏輯,爲什麼我在自定義控制包好。

自定義組合框包含另一個用戶控件,該組合框還具有組合框綁定到的Foo屬性。

但我也必須設置UpdateSourceTriggerMode,我想以某種方式指定那些綁定到該DependencyProperty時的默認值。可以做到嗎?

回答

3

默認BindingMode可以在依賴項屬性的元數據來指定:

public static readonly DependencyProperty FooProperty = DependencyProperty.Register(
    "Foo", 
    typeof(string), 
    typeof(MyCustomComboBox), 
    new FrameworkPropertyMetadata(
     null, 
     FrameworkPropertyMetadataOptions.BindsTwoWayByDefault); 

不過,據我所知,沒有辦法提供更新源觸發違約。

+4

有一種方法可以設置默認更新源觸發器;剛剛發現這(http://stackoverflow.com/questions/1094509/wpf-define-bindings-default/1094744#1094744)這實質上是我的問題的重複。那裏有很多不錯的額外信息。 – Mizipzor 2010-02-16 12:57:27

+0

酷 - 我錯過了在文檔中。 – 2010-02-16 13:12:35

相關問題