2010-02-16 144 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

相关问题