我需要所有控件中的key和Value属性,这些控件是wpf中FrameworkElement类的驱动器。出于某种内部目的,需要密钥和价值属性。我知道我们有一个Tag属性,用于保存自定义数据。我还需要两个这样的属性。
有什么建议吗?
答案 0 :(得分:0)
您不需要创建另一个属性,因为您知道Tag
属性将允许您保存自定义数据。
这是您如何在Tag
中存储数据的示例。
public class Customdata
{
public int Id { get; set; }
public int value { get; set; }
}
private void setDataInTag(FrameworkElement obj, Customdata objCustomData)
{
obj.Tag = objCustomData;
}
private Customdata GetValueFromElement(FrameworkElement obj)
{
Customdata objCustomData = new Customdata();
if (obj.Tag!=null && obj.Tag.GetType() == typeof(Customdata))
{
objCustomData = (Customdata)obj.Tag;
return objCustomData;
}
}
我认为现在很简单:)
答案 1 :(得分:-1)
您应该创建自己的attached property。
只需创建新类,编写propa
codesnippet,按tab,tab:)
在xaml中,您可以在任何依赖项对象上设置并获取该属性,就像您可以在任何元素上使用Grid.Column或Canvas.Left一样。