如何将自定义属性限制为 XAML 中的可用值



>我有一个枚举声明如下:

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}" />

相关内容

  • 没有找到相关文章

最新更新