Wpf 附属性问题

Wpf 附属性问题,wpf,attached-properties,Wpf,Attached Properties,我有一个附加属性,名称为“Translate”。我将属性设置为: <Label Target="{Binding ElementName=UserName}" Content="User Name" Extensions.Translate="true"/> 我在属性changed事件处理程序中获得目标值,该值为null。但我在XAML中设置了它。为什么它是空的 谢谢。绑定直到加载UI过程的后期才会发生,因此在应用本地值“true”时,绑定尚

我有一个附加属性,名称为“Translate”。我将属性设置为:

<Label  Target="{Binding ElementName=UserName}" 
        Content="User Name"
        Extensions.Translate="true"/>

我在属性changed事件处理程序中获得目标值,该值为null。但我在XAML中设置了它。为什么它是空的


谢谢。

绑定直到加载UI过程的后期才会发生,因此在应用本地值“true”时,绑定尚未进行评估。您需要将目标值的检查推迟到绑定更新之后。这应该让您在Translate PropertyChanged处理程序中开始:

    Label label = dObj as Label;
    if (BindingOperations.IsDataBound(label, Label.TargetProperty))
    {
        Binding.AddTargetUpdatedHandler(label, (sender, args) =>
        {
            UIElement element = label.Target;
            // do something with element
        });
    }