Ich kann nicht scheinen, einen öffentlichen verschachtelten Aufzählungstyp von XAML zu verweisen. Ich habe eine KlasseReferenz verschachtelte Aufzählungstyp von XAML
namespace MyNamespace
{
public class MyClass
{
public enum MyEnum
{
A,
B,
}
}
}
Und ich versuche MyEnum
in XAML wie diese Referenz:
xmlns:MyNamespace="clr-namespace:MyNamespace;assembly=MyApp"
....
{x:Type MyNamespace:MyClass:MyEnum} // DOESN'T WORK
aber VS klagt sie nicht öffentlich Typ MyEnum
finden. Ich habe auch versucht die +
Syntax auf eine der Antworten auf this post Basis mit ...
{x:Type MyNamespace:MyClass+MyEnum} // DOESN'T WORK
aber das funktioniert auch nicht.
Beachten Sie, dass x:Static
tut Arbeit mit der +
Syntax:
{x:Static MyNamespace:MyClass+MyEnum.A} // WORKS
Und wenn ich MyEnum
aus MyClass
bewegen kann ich es auch verweisen. Aber nicht, wenn es verschachtelt ist ...
Also was vermisse ich? Wie referenziere ich eine verschachtelte Aufzählung von XAML mit x:Type
? (Und beachte, ich versuche nichts zu instanziieren, referenziere nur den Typ).
UPDATE
Es sieht aus wie das nur ein Fehler mit dem Designer VS 2010 ist. Der Designer beklagt, dass Type MyNamespace:MyClass+MyEnum was not found
. Die Anwendung scheint jedoch ordnungsgemäß ausgeführt zu werden und auf den verschachtelten Typ zuzugreifen. Ich habe das auch mit einer geschachtelten Klasse versucht, und das funktioniert zur Laufzeit.
Mögliche offen Fehler: http://social.msdn.microsoft.com/forums/en-US/wpf/thread/12f3e120-e217-4eee-ab49-490b70031806/
Verwandte thread: Design time error while writing Nested type in xaml
Sieht aus wie könnte dies ein bekannter Fehler in VS2010 Designern sein? http://social.msdn.microsoft.com/forums/en-US/wpf/thread/12f3e120-e217-4eee-ab49-490b70031806/ – hashlock
Im Jahr 2012 funktioniert es, obwohl Designer Fehler zeigt, bis Sie Ihr Projekt – Kranach