我似乎無法從XAML引用公共嵌套枚舉類型。我有一個類來自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
。我也嘗試使用基於答案之一this post的+
語法...
{x:Type MyNamespace:MyClass+MyEnum} // DOESN'T WORK
但這並不工作。
注意x:Static
確實與+
語法工作:
{x:Static MyNamespace:MyClass+MyEnum.A} // WORKS
如果我移動MyEnum
出MyClass
我可以引用它。但不是如果它嵌套...
那麼我錯過了什麼?如何使用x:Type
從XAML引用嵌套枚舉? (注意,我沒有試圖實例化任何東西,只是參考類型)。
UPDATE
看起來這僅僅是一個用VS 2010設計錯誤。設計師抱怨說Type MyNamespace:MyClass+MyEnum was not found
。但應用程序似乎運行並正確訪問嵌套類型。我也試過這個嵌套類,它在運行時工作。
可能打開錯誤:http://social.msdn.microsoft.com/forums/en-US/wpf/thread/12f3e120-e217-4eee-ab49-490b70031806/
相關主題:Design time error while writing Nested type in xaml
看起來這可能是VS2010設計一個已知的bug? http://social.msdn.microsoft.com/forums/en-US/wpf/thread/12f3e120-e217-4eee-ab49-490b70031806/ – hashlock
2012年,它的工作原理,儘管設計師直到你建立你的項目時才顯示錯誤 – Kranach