4
使用枚舉值我已經在C#中定義一個枚舉在XAML
public enum PointerStyle
{
Pointer,
Block,
Slider
} ;
我使用它作爲一個WPF自定義控件
public static DependencyProperty DisplayStyleProperty =
DependencyProperty.Register("DisplayStyle", typeof(PointerStyle), typeof(Pointer), new PropertyMetadata(PointerStyle.Pointer));
public PointerStyle DisplayStyle
{
get { return (PointerStyle)GetValue(DisplayStyleProperty); }
set { SetValue(DisplayStyleProperty, value); }
}
依賴屬性,並以ControlTemplate中
使用它<Trigger Property="DisplayStyle" Value="{x:Static local:PointerStyle.Block}">
編輯器強調大多數代碼並且顯示錯誤「Block」不是一個有效值屬性'DisplayStype'。「如下面的屏幕截圖
這是在Visual Studio 2015年
在運行時,代碼完美的作品。
在我的測試程序的設計窗口中,控件完全不正確。
我在做什麼錯?
在XAML中引用枚舉值的最佳方式是什麼?
(我會很樂意使用的TypeConverter,並定義值作爲一個字符串,但我無法找到如何做一個很好的例子。)
你嘗試簡單地寫'值=「塊」'在觸發?從字符串到枚舉的類型轉換通常在XAML中使用。 – Clemens
我相信你正確地使用它,但你可以在這裏看到Enum Converter示例:https://stackoverflow.com/questions/14279602/how-can-i-use-enum-types-in-xaml –
@RicardoSerra那個答案顯示了一個綁定值轉換器,它不應該與類型轉換器混淆。但是,這裏沒有涉及綁定。 – Clemens