如何在WPF中向FrameworkElement驱动的类添加依赖属性?

时间:2015-03-24 08:56:40

标签: c# wpf dependency-properties

我需要所有控件中的key和Value属性,这些控件是wpf中FrameworkElement类的驱动器。出于某种内部目的,需要密钥和价值属性。我知道我们有一个Tag属性,用于保存自定义数据。我还需要两个这样的属性。

有什么建议吗?

2 个答案:

答案 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一样。