在 OnChange 事件中查找附加属性附加到的控件

本文关键字:控件 属性 OnChange 查找 事件 | 更新日期: 2023-09-27 18:33:45

假设我有以下代码:

   public static DependencyProperty LabelProperty =
        DependencyProperty.RegisterAttached(
            "Label",
            typeof(Label),
            typeof(HotKeyHelper),
            new FrameworkPropertyMetadata(default(Label), OnLabelChanged)
        );
    public static void SetLabel(DependencyObject obj, Label value)
    {
        obj.SetValue(LabelProperty, value);
    }
    public static Label GetLabel(DependencyObject obj)
    {
        return (Label)obj.GetValue(LabelProperty);
    }
    private static void OnLabelChanged(DependencyObject obj,
         DependencyPropertyChangedEventArgs e)
    {
        Label label = obj as Label;
        // Question is for Right Here!
    }

在 OnLabelChanged 事件中是否有办法获取它附加到的对象?

例如,假设我像这样使用它:

  <TextBox Controls:HotKeyHelper.Label="{Binding ElementName=SomeLabel}"/>

有没有办法在我的 OnLabelChanged 事件中获取对 SomeLabel 标签的引用?

在 OnChange 事件中查找附加属性附加到的控件

e.NewValue

obj 应该是设置附加属性的对象,我怀疑您是否想将其转换为 Label,因为它可以是任何东西......