首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将自定义属性限制为XAML中的可用值

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

Stack Overflow用户
提问于 2018-08-30 18:42:40
回答 1查看 107关注 0票数 0

我的声明如下:

代码语言:javascript
运行
复制
public enum DirectionTypes
{
    IN = 2,
    OUT = 1
}

此枚举用于需要在XAML中指定控件所需工作方向的用户控件。我在每个用户控件上创建了一个依赖属性,如下所示:

代码语言:javascript
运行
复制
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);
    }
}

然后,我可以按以下方式使用用户控件:

代码语言:javascript
运行
复制
<local:TransactionGrid x:Name="theGrid" DirectionType="OUT" />

我可以很好地运行这个程序。问题是DirectionType="OUT"在Visual 2015中会导致intellisense错误。我在XAML属性下得到蓝色的squiglies,而我的设计器不会显示预览,而是说“无效标记”。错误说 DirectionTypes的类型转换器不支持从字符串转换.

我遗漏了什么,允许正确地解析XAML。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-30 18:58:37

显式地指定枚举值如下(假设DirectionTypes与本地名称空间相同):

代码语言:javascript
运行
复制
<local:TransactionGrid x:Name="theGrid" DirectionType="{x:Static local:DirectionTypes.OUT}" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52103484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档