>我有一个枚举声明如下:
public enum DirectionTypes
{
IN = 2,
OUT = 1
}
此枚举用于用户控件,我需要在 XAML 中指定控件需要工作的方向。 我在每个用户控件上创建了一个依赖项属性,如下所示:
public static readonly DependencyProperty DirectionTypeProperty =
DependencyProperty.Register(
"DirectionType",
typeof(DirectionTypes),
typeof(TransactionGrid), new PropertyMetadata(DirectionTypes.IN));
public DirectionTypes DirectionType
{
get
{
return (DirectionTypes)GetValue(DirectionTypeProperty);
}
set
{
SetValue(DirectionTypeProperty, value);
}
}
然后,我可以按如下方式使用用户控件:
<local:TransactionGrid x:Name="theGrid" DirectionType="OUT" />
我可以很好地运行该程序。 问题是DirectionType="OUT">在 Visual Studio 2015 中导致智能感知错误。 我在 XAML 属性下看到蓝色波浪线,我的设计器不会显示预览,而是说"无效标记"。 错误指出DirectionType 的类型转换器不支持从字符串转换。
我缺少什么,可以允许 XAML 正确解析。
按如下方式显式指定枚举值(假设 DirectionType 与本地位于同一名称空间中(:
<local:TransactionGrid x:Name="theGrid" DirectionType="{x:Static local:DirectionTypes.OUT}" />