Es gibt eine WPF-Benutzersteuerungsbibliothek und zwei (oder mehr) Benutzersteuerelemente. Ich muss den gleichen Stil in beiden Benutzersteuerelementen verwenden. Wie kann ich diesen Stil teilen? Zum Beispiel:
Dies ist der Stil:
%Vor%Benutzerkontrolle A:
%Vor%UserControl B:
%Vor%Wie kann ich diesen Stil zwischen Benutzersteuerelementen in der Bibliothek freigeben, ohne das Ressourcenverzeichnis der Anwendung app.xaml einzubeziehen?
AKTUALISIEREN
Ich kann Themes \ Generic.xaml in meine Bibliothek einfügen und den Stil dort definieren. Aber in diesem Fall muss ich ComponentResourceKey als Schlüssel des Styles verwenden. Recht? Es ist lang und nicht sehr praktisch Ausdruck ...
Sie können die freigegebenen Ressourcen in einem separaten ResourceDictionary
definieren und sie anschließend mit MergedDictionaries .
Angenommen, Sie haben eine Ressource, die Farben definiert:
%Vor%Und ein anderer, der einige grundlegende Stile definiert:
%Vor%Sie können dann Ihre Ressourcen zum Tag Application.Resources von App.xaml hinzufügen, wie hier gezeigt:
%Vor%Dann können Sie in allen Ihren Benutzersteuerelementen die Stile oder Pinsel als StaticResources verwenden, wie Ihr Beispielcode zeigt.
Ich habe die Lösung gefunden, die auch in der Entwurfszeit funktioniert (zumindest in VS2010):
%Vor%Diese angefügte Eigenschaft kann auf ein FrameworkElement angewendet werden. Stellen Sie sich vor, dass customLabelStyle im Dictionary.xaml im Edu.Wpf.Example-Projekt definiert ist. So kann dieser Stil auf die nächste Art angewendet werden:
%Vor%Tags und Links wpf user-controls resourcedictionary