是否可以在密封的XAML控件类上创建附加属性?

时间:2013-05-22 21:00:01

标签: c# xaml windows-store-apps

与旧桌面版本不同,Windows应用商店应用库中的Run类是SEALED。我需要添加一个属性,当用户选择Run时,我可以检索该属性。

是否可以将属性附加到我可以在代码中访问的密封的Run类中?

这是我的尝试:

public static readonly DependencyProperty MyIndexProperty =
    DependencyProperty.RegisterAttached("MyIndex", typeof(int), typeof(Run), new PropertyMetadata(null));

public static int GetMyIndex(Run obj)
{
    return (int)obj.GetValue(MyIndexProperty);
}

public static void SetMyIndex(Run obj, int value)
{
    obj.SetValue(MyIndexProperty, value);
}

1 个答案:

答案 0 :(得分:0)

C#语言不支持“扩展”或“附加”属性。

附加属性是WPF功能,它会影响XAML和WPF绑定系统。 在代码中使用WPF附加属性的唯一方法是编写YourClass.SetMyIndex(instance, value);

虽然扩展方法可以接近,但是没有办法实现你想要的目标。