是否可以将自己的自定义属性添加到任何控件?
我想做类似于例如X:名称=" aname"
。所以我可以写xaml:
<TextBox local:MyCustomProperty="myValue" />
也许某人可以提供一个小样本或显示如何执行此操作的链接。
在Google中我只找到了标记扩展程序,这似乎不是我要找的。 p>
答案 0 :(得分:2)
您可以使用Attached Property。
public class MyCustomProperty
{
#region Color dependency property
public static readonly DependencyProperty ColorProperty;
public static Color GetColor(DependencyObject obj)
{
return (Color)obj.GetValue(ColorProperty);
}
public static void SetColor(DependencyObject obj, Color value)
{
obj.SetValue(ColorProperty, value);
}
#endregion
static MyCustomProperty()
{
//register attached dependency property
var metadata = new FrameworkPropertyMetadata(Colors.Transparent);
ColorProperty = DependencyProperty.RegisterAttached("Color",
typeof(Color),
typeof(MyCustomProperty), metadata);
}
}
在XAML中
<DockPanel custom:MyCustomProperty.Color="{StaticResource MyColor}" >