【问题标题】:How do I add a property changed callback to the Name property on object?如何将属性更改回调添加到对象上的 Name 属性?
【发布时间】:2012-01-18 20:49:42
【问题描述】:

由于我没有注册属性,我将如何添加属性更改回调?

这行得通:

public static readonly DependencyProperty NameProperty =
    FrameworkElement.NameProperty.AddOwner(typeof(Node), new FrameworkPropertyMetadata("Node", new PropertyChangedCallback(NamePropertyChanged)));`

但是有一个我不明白的警告,所以也许还有另一种方法:

WpfApplication1.Node.NameProperty' 隐藏继承的成员 'System.Windows.FrameworkElement.NameProperty'。如果要隐藏,请使用 new 关键字。

【问题讨论】:

    标签: wpf callback dependency-properties


    【解决方案1】:

    您的类 Node 似乎派生自 FrameworkElement(或 FrameworkElement 的子类)。 Node 和 FrameworkElement 都定义了

    public static readonly DependencyProperty NameProperty;
    

    生成编译器警告。就写吧

    public static new readonly DependencyProperty NameProperty ...
    

    在类节点中。

    你也可以写

    FrameworkElement.NameProperty.OverrideMetadata(
        typeof(Node),
        new FrameworkPropertyMetadata("Node", new PropertyChangedCallback(NamePropertyChanged)));
    

    在 Node 的静态构造函数中。

    【讨论】:

      猜你喜欢
      • 2015-11-15
      • 2020-11-05
      • 2011-11-23
      • 1970-01-01
      • 2016-11-20
      • 2021-06-11
      • 2014-09-18
      • 2016-08-29
      • 1970-01-01
      相关资源
      最近更新 更多