[英]How to create a custom property?
我需要創建一個自定義屬性,而不是使用
<Style x:Key="ABC" TargetType="Rectangle">
<Setter Property="Fill" Value="Red"/>
</Style>
我喜歡像Rectangle這樣的東西,並為它分配一個ID,以便稍后在Canvas上刪除它我可以檢索它的ID。
<Style x:Key="ABC" TargetType="Rectangle">
<Setter Property="Fill" Value="Red"/>
**<Setter Property="ID" Value="1234567890-ABC"/>**
</Style>
如何定義該自定義屬性?
此致,阿米特
在單獨的類中定義自定義附加屬性:
public class Prop : DependencyObject
{
public static readonly DependencyProperty IDProperty =
DependencyProperty.RegisterAttached("ID", typeof(string), typeof(Prop), new PropertyMetadata(null));
public static void SetID(UIElement element, string value)
{
element.SetValue(IDProperty, value);
}
public static string GetID(UIElement element)
{
return (string)element.GetValue(IDProperty);
}
}
然后你可以使用這個:
<Setter Property="local:Prop.ID" Value="1234567890-ABC"/>
local
必須在XAML appromimately這樣的根元素來定義:
xmlns:local="clr-namespace:AttPropTest"
其中AttPropTest
是程序集的命名空間。
在代碼中,您可以使用Prop.GetID(myRect)
確定ID。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.