Web- und Software Development

XAML Namespace a’la Microsoft Schema

Written By: Mario Priebe - Sep• 25•09

Ich hatte erst kürzlich das Problem, das ich im XAML auf die eigene Assembly verweisen wollte.

Leider geht das nicht auf der herkömmlichen Weise :

xmlns:Names="clr-namespace:Namespace.To.Core.Controls;assembly=Namespace.To.Core";

Hier meckert der Compiler weil er seine eigene Assembly in den “Verweisen” wohl nicht findet.

Gebe ich den Namespace ohne den Assemblyverweis an,

xmlns:Names="clr-namespace:Namespace.To.Core.Controls"

findet das Modul, welches das entsprechende Control aus dieser Assembly laden will, die Assembly natürlich nicht (kompilieren wäre jetzt aber erstmal möglich).

Nun, um dennoch auf sich selbst zu verweisen, kann man in der AssemblyInfo.cs (Propertys) einen XMLNamespace a’la Schema-Microsoft definieren.

using System.Windows.Markup;
...
[assembly: XmlnsDefinition("http://schema.biggle.de/Core/Controls", "Namespace.To.Core.Controls";)]

und im XAMl kann man dann diese Definition entsprechend verwenden

xmlns:Controls="http://schema.biggle.de/Core/Controls"

Voilà

Nun klappt es doch mit der Referenz auf sich selbst : )

Ähnliche Beiträge

You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

One Comment

  1. [...] einen Tag habe ich noch geschrieben, wie man schöne Namespaces im XAML generiert, an einem anderen Tag funktioniert es  “aus [...]