0

我有一个带有嵌入式 DatePicker 的用户控件。我想将一些 DatePicker 属性传递给内部 DatePicker 控件。似乎我应该能够在 UserControl 上使用 AddOwner,但定义的 OnSelectedDateChanged 方法永远不会触发。

public static readonly DependencyProperty SelectedDateProperty =
    DatePicker.SelectedDateProperty.AddOwner
    (
        typeof(MyUserControl), 
        new FrameworkPropertyMetadata(FrameworkPropertyMetadataOptions.Inherits, 
        onSelectedDateChanged)
    );

private static void onSelectedDateChanged(DependencyObject o, 
                                          DependencyPropertyChangedEventArgs e)
{
    // my code here
}

为了让它工作,我刚刚定义了一个标准的依赖属性 DateTime? UserControl 上的 SelectedDate,然后将值传递给内部 DatePicker。

4

1 回答 1

0

MSDN 有一个关于为 Dependency Property 覆盖元数据的非常好的主题。

您还可以安全地添加一个额外的属性更改处理程序,它将与现有的处理程序“合并”。有关详细信息,请查看OverrideMetadata文档。

在 StackOverflow 上也可以找到或多或少相关的答案:如何更改继承的依赖属性的默认值?

于 2013-06-07T16:24:18.247 回答