Vererben von einer Usercontrol abstrakten Unterklasse
-
05-07-2019 - |
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?
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