绑定 WPF DependencyProperty 的默认设置

3

我创建了一个名为MyCustomComboBox的自定义用户控件。在应用程序中,无论我把它放在哪里,我都会执行以下操作:

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

MyCustomComboxBox有一个依赖属性Foo,我在组合框中添加了一些验证和其他逻辑,这也是我将其包装在自定义控件中的原因。

自定义组合框包含另一个用户控件,该控件也具有Foo属性,组合框绑定到该属性。

但我还必须设置UpdateSourceTriggerMode,我希望能够指定它们为绑定到该DependencyProperty时的默认值。这可行吗?

1个回答

4

默认的BindingMode可以在依赖属性元数据中指定:

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

然而,据我所知,没有办法为更新源触发器提供默认值。

5
有一种方法可以设置默认的更新源触发器;我刚找到了这个(https://dev59.com/5XNA5IYBdhLWcg3wF5uO#1094744),它本质上是我的问题的重复。那里还有很多有用的额外信息。 - Mizipzor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接