0

在再次运行下面的代码之前,我如何知道“状态”DependencyProperty 是否已注册?

代码:

public readonly DependencyProperty StatusProperty ;

    public string Status
    {
        get { return (string)GetValue(StatusProperty); }
        set { SetValue(StatusProperty, value); }
    }

StatusProperty = DependencyProperty.Register("Status", typeof(string), typeof(CWindow), new PropertyMetadata());
4

1 回答 1

0

您将需要反思以找出已注册的依赖属性。

using System.Reflection;

foreach (FieldInfo fInfo in CWindow.GetType().GetFields())
{
    if (fInfo.FieldType.Name == "DependencyProperty")
    {
        if (fInfo.GetValue(null) == "Status")
        {
            Console.WriteLine("Status Property already Registered");
        }
    }
}
于 2012-10-25T06:28:14.113 回答