Formgebungen, die ein Benutzersteuerelement in WPF von einer anderen Baugruppe
-
20-09-2019 - |
Frage
Ich habe einen Benutzer WPF-Steuerelement in einer Anwendung definiert Montag. Ich versuche, die Benutzersteuerung basierend auf Arten in einer anderen (Haut oder Thema) Montage-Stil. Ich will nicht das Thema / Haut Anordnung, die die Resource mit allen Arten enthält Montag die Anwendung zu verweisen. Gibt es eine Möglichkeit, dies zu tun? Z.
WPFApplication Assembly
MyUserControl.xaml <- WPF Benutzersteuerung
Thema Assembly
MyStyles.xaml <- WPF Ressourcenverzeichnis
Ich nehme ich verwenden kann,
<Style x:Key="MyStyle">
<Setter Property="Background" Value="Red" />
</Style>
in der MyStyles.xaml Resource und Verwendung:
<l:MyUserControl Name="control" Style="{StaticResource MyStyle}" />
in jedem Fenster, das MyUserControl.xaml im WPFApplication verwendet Montag
Aber ich würde es vorziehen, die benutzerdefinierte Benutzersteuerung in dem MyStyles.xaml Resource Ziel:
<Style TargetType="{x:Type l:MyUserControl}" x:Key="MyStyle">
<Setter Property="Background" Value="Red" />
</Style>
Ist das möglich ??
Lösung
Ja, Sie können es tun. Überprüfen Sie diese SO Post , wo ich zeigen, wie es programmatisch zu tun. Ich war es mit Control tun, aber genau das gleiche gilt für Styles als auch.
Um es tun deklarativ einfacher sein können, können Sie programmatisch müssen Ihre resourcedictionaries fusionieren, erklären die richtigen StaticResources und Namespaces in Ihrem XAML, und dann verweisen nur die Art / Vorlage, die Sie wollen.