我似乎从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/