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