c# – 从XAML引用嵌套枚举类型

我似乎从XAML引用公共嵌套的枚举类型.我有一个
namespace MyNamespace
{
  public class MyClass
  {
    public enum MyEnum
    {
       A,B,}
  }
}

我尝试在Xaml中引用MyEnum,如下所示:

xmlns:MyNamespace="clr-namespace:MyNamespace;assembly=MyApp"
....

{x:Type MyNamespace:MyClass:MyEnum}    // DOESN'T WORK

但VS抱怨它找不到公共类型MyEnum.我也尝试使用基于this post的答案之一的语法…

{x:Type MyNamespace:MyClass+MyEnum}    // DOESN'T WORK

但这也不行.

请注意x:静态使用语法:

{x:Static MyNamespace:MyClass+MyEnum.A}  // WORKS

如果我将MyEnum移出MyClass,我也可以参考.但是如果它是嵌套的…

那我还缺少什么?如何使用x:Type引用XAML中的嵌套枚举? (请注意,我不是要实例化任何东西,只是引用类型).

UPDATE

看起来这只是VS 2010设计师的错误.设计师抱怨类型MyNamespace:MyClass MyEnum未找到.但应用程序似乎运行并正确访问嵌套类型.我也试着用一个嵌套的类,它在运行时工作.

可能的开放bug:http://social.msdn.microsoft.com/forums/en-US/wpf/thread/12f3e120-e217-4eee-ab49-490b70031806/

相关链接Design time error while writing Nested type in xaml

解决方法

MSDN说:

Your custom class must not be a nested class. nested classes and the
“dot” in their general CLR usage Syntax interfere with other WPF
and/or XAML features such as attached properties.

类似的问题在这里Creating an instance of a nested class in XAML

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...