【发布时间】:2015-05-27 12:20:27
【问题描述】:
我需要从 wpf 中的 FrameworkElement 类驱动的所有控件中的键和值属性。某些内部目的需要 key 和 value 属性。我知道我们有一个用于保存自定义数据的 Tag 属性。我需要另外两个这样的属性。
有什么建议吗?
【问题讨论】:
标签: c# wpf dependency-properties
我需要从 wpf 中的 FrameworkElement 类驱动的所有控件中的键和值属性。某些内部目的需要 key 和 value 属性。我知道我们有一个用于保存自定义数据的 Tag 属性。我需要另外两个这样的属性。
有什么建议吗?
【问题讨论】:
标签: c# wpf dependency-properties
您应该创建自己的attached property。
只需创建新类,写propacoden-p,按tab,tab :)
然后,您可以在 xaml 中设置和获取任何依赖对象的属性,就像您可以在任何元素上使用 Grid.Column 或 Canvas.Left。
【讨论】:
您无需创建其他属性,因为您知道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;
}
}
我认为现在很简单:)
【讨论】: