我希望TextBlock显示附加属性的默认值,但它不起作用。
XAML语言
<TextBlock Text="{Binding RelativeSource={RelativeSource Self}, Path=MyData}" />
附加属性
public class MyDependencyObject
{
public static readonly DependencyProperty MyDataProperty =
DependencyProperty.RegisterAttached("MyData", typeof(string), typeof(TextBlock),
new FrameworkPropertyMetadata("MyDependencyObject"));
public static string GetMyData(DependencyObject dpo)
{
return (string)dpo.GetValue(MyDataProperty);
}
public static void SetMyData(DependencyObject dpo, string value)
{
dpo.SetValue(MyDataProperty, value);
}
}
当我设置MyData的值时,它运行良好。
<TextBlock local:MyDependencyObject.MyData="Test"
Text="{Binding RelativeSource={RelativeSource Self}, Path=MyData}" />
1条答案
按热度按时间bbmckpt71#
数据系结至附加属性需要括号中的
Path
,请参阅数据系结中对象的PropertyPath:附加的属性声明必须使用声明类作为RegisterAttached的
ownerType
参数尽管从未在TextBlock上显式设置附加属性,但它将显示“MyDependencyObject”默认值。