创建一个采用C#中任何枚举的DependencyProperty

本文关键字:任何 枚举 DependencyProperty 一个 创建 | 更新日期: 2023-09-27 18:24:16

我想在UserControl中包含一个'units'DependecyProperty。单位在单独的枚举中定义,例如

public enum TemperatureUnits {
    Celcius,
    Fahrenheit,
}
public enum PressureUnits {
    Psi,
    Bar,
}

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

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

我该如何实现?

创建一个采用C#中任何枚举的DependencyProperty

尝试使用"int"而不是"Enum"。

另外,默认值不是可选的吗?省略它,它将被初始化为枚举中等效的"0"。