我似乎无法从 XAML 引用公共嵌套枚举类型。我有一堂课
namespace MyNamespace
{
public class MyClass
{
public enum MyEnum
{
A,
B,
}
}
}
我尝试MyEnum
像这样在 Xaml 中引用:
xmlns:MyNamespace="clr-namespace:MyNamespace;assembly=MyApp"
....
{x:Type MyNamespace:MyClass:MyEnum} // DOESN'T WORK
但 VS 抱怨它找不到公共类型MyEnum
。我还尝试使用+
基于这篇文章的答案之一的语法......
{x:Type MyNamespace:MyClass+MyEnum} // DOESN'T WORK
但这也不起作用。
请注意,x:Static
它适用于以下+
语法:
{x:Static MyNamespace:MyClass+MyEnum.A} // WORKS
如果我搬出MyEnum
去,MyClass
我也可以参考它。但如果它是嵌套的...
那么我错过了什么?如何使用 XAML 引用嵌套枚举x:Type
?(请注意,我不是要实例化任何东西,只是引用类型)。
更新
看起来这只是 VS 2010 设计器的一个错误。设计师抱怨说Type MyNamespace:MyClass+MyEnum was not found
。但是应用程序似乎可以运行并正确访问嵌套类型。我也用嵌套类试过这个,它在运行时工作。
可能的开放错误:http ://social.msdn.microsoft.com/forums/en-US/wpf/thread/12f3e120-e217-4eee-ab49-490b70031806/