Frage

Ich habe eine Reihe von Benutzersteuerelementen, die ein paar ähnlichen Eigenschaften haben müssen. So habe ich eine abstrakte Unterklasse von Usercontrol definiert, die diese Eigenschaften und aktualisiert, um die .xaml.cs und .g.cs Dateien definiert von dieser Basisklasse erben. Alle kompiliert gut und läuft gut. Toll! Aber .... .g.cs Dateien erzeugt werden und regeneriert werden, so wie kann ich feststellen, Mischung oder Visual Studio zu halten von meiner Basisklasse erben statt Usercontrol?

War es hilfreich?

Lösung

Sie müssen den XAML ein wenig ändern, um die Usercontrol-Deklaration mit einem Namespace-Prefix:

<local:MyBaseControl x:Class="MyNameSpace.MyControl"
    xmlns:local="clr-namespace:MyNameSpace"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <!-- Content -->
</local:MyBaseControl>

Wo MyNameSpace Ihren Namensraum ist (duh!), MyBaseControl ist Ihre Basisklasse und MyControl ist Ihre Kontrolle, die von MyBaseControl erbt. Der x. Klasse Teil muss nicht im gleichen Namensraum sein, ich habe es einfach immer das gleiche für das Beispiel

Weitere Informationen hier und hier .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top