创建一个DependencyProperty,它接受C#中的任何Enum?

时间:2014-09-25 08:40:17

标签: c# enums dependency-properties

我想在DependecyProperty中加入“单位”UserControl。单位在单独的枚举中定义,例如

public enum TemperatureUnits {
    Celcius,
    Fahrenheit,
}

public enum PressureUnits {
    Psi,
    Bar,
}

因此DependencyProperty需要能够接受任何类型的枚举。我尝试使用DependencyProperty使用Enum作为类型,如下所示,但它崩溃说默认值无效...

public static readonly DependencyProperty UnitsProperty = DependencyProperty.Register("Units",
        typeof(Enum), typeof(DialInputWidget), new PropertyMetadata(0, UnitsPropertyChanged));

我该如何实现?

1 个答案:

答案 0 :(得分:0)

尝试使用“int”而不是“Enum”。

另外,不是默认的可选项吗?省略它,它将在枚举中初始化为等效的“0”。