2014-09-25 47 views
0

我想在UserControl中包含'units'DependecyProperty。單位在單獨的枚舉中定義,例如創建一個DependencyProperty,它接受任何C#中的枚舉?

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)); 

我如何能實現呢?

+0

這種方法的任何特定原因?你爲什麼要這樣做? – decPL 2014-09-25 08:47:15

+0

用戶控件是一個可以顯示壓力或溫度(或潛在其他)的輸入刻度盤,還有另一個「DependencyProperty」枚舉,用於配置哪個。然而,它基於單位表現稍微不同,例如, Fahreneit在整個步驟中遞增,攝氏半步。當我編寫XAML時,我想說明如何聲明例如'我想要一個刻度盤來顯示攝氏溫度' – Brendan 2014-09-25 08:51:56

+0

如果使用「int」而不是「Enum」,它會工作嗎? – FarmerBob 2014-09-25 08:53:50

回答

0

嘗試使用「int」而不是「Enum」。

另外,是不是默認可選?忽略它,它將被初始化爲Enum中等於「0」的值。