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