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 ??

War es hilfreich?

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.

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