Solange die Basisklasse keine XAML-Datei zugeordnet ist, ist es ziemlich einfach. Der Versuch, den visuellen Aspekt des Benutzersteuerelements mithilfe von XAML zu integrieren, ist kein wirklich unterstütztes Szenario.
gesagt haben, dass nur Ihre Klasse SliderCommonType erstellen (obwohl ich es Slider oder etwas nennen würde.)
namespace MyControls {
public class SliderBase : UserControl {
}
}
Dann basierend auf sie Ihre zwei Steuerelemente erstellen. Ich werde ein Beispiel zeigen und das andere sollte offensichtlich sein.
<Local:SliderBase x:Class="MyControls.SliderType1"
xmlns:Local="clr-namespace:MyControls">
</Local:SliderBase>
Und der Code-behind würde wie folgt aussehen:
namespace MyControls {
public class SliderType1 : SliderBase {
}
}
Der entscheidende Punkt ist, dass Sie Ihre XAML-Datei die Basisklasse zu referenzieren hat, was wiederum die Änderung der die <UserControl>
Element <Local:SliderBase>
erfordert erfordert ein XAML-Namespace-Import.
Wenn Sie ein Benutzersteuerelement mithilfe der Standardvorlage hinzufügen, können Sie einfach den erstellten Code ändern, um die obigen Änderungen zu berücksichtigen. Es ist viel einfacher als der Versuch, es von Grund auf neu zu erstellen.
Eine letzte Sache zu beachten - Sie müssen Ihre Anwendung erfolgreich kompilieren, bevor Sie den visuellen Designer auf Ihren abgeleiteten Steuerelementen verwenden können. Dies liegt daran, dass der Designer SliderBase zur Entwurfszeit instanziieren kann.
Welche Syntax haben Sie bisher versucht, die nicht funktioniert? Und welche Sprache-C# oder VB.NET? –
Ich habe aktualisiert siehe oben danke. – user310291