Frage

ich meine WPF-Anwendung will skinnable sein, durch eine bestimmte XAML Vorlage anwenden, und die Änderungen Anwendung breit, auch für dynamische Steuerelemente oder Steuerelemente, die nicht einmal in der visuellen / logischen Struktur ist.

Was kann ich diese Art von Funktionalität nutzen zu erreichen? Gibt es gute Ressourcen oder Tutorials, die zeigen, wie diese spezifische Aufgabe kann getan werden?

War es hilfreich?

Lösung

Der grundlegende Ansatz nehmen alle Ressourcen durch Ihre Anwendung mit und dynamisch die Ressourcen zur Laufzeit zu ersetzen.

Siehe http://www.nablasoft.com/alkampfer/index.php/2008/05/22/simple-skinnable-and-theme-management-in-wpf-user-interface/ für den Grundansatz

Andere Tipps

Der Austausch von Ressourcen arbeiten, aber ich fand „strukturelle Häutung“ mächtiger zu sein! Lesen Sie mehr darüber auf Codeproject ...

http://www.codeproject.com/KB/WPF/podder1.aspx

Ich habe die Art und Weise anzuwenden generische Vorlagen auf alle Bedienelemente ohne Vorlage Schlüssel gefunden. Die Lösung ist, die Art der Steuerung als Style-Taste zu verwenden.

Beispiel:

 <Application.Resources>
    <Style x:Key="{x:Type Button}" TargetType="{x:Type Button}">
        <Setter Property="Button.Background" Value="CornflowerBlue"/>
        <Setter Property="Button.Template">
            <Setter.Value>
                <ControlTemplate x:Name="MyTemplate">
                    ...
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</Application.Resources>

hier die Style-Taste ist x: Key = „{x: Type-Taste}“, so wird der Stil, ohne die Kontrolle zu allen Kontrollen des Typs Schaltfläche angewandt werden, um die Style-Eigenschaft erklärt, eine statische oder dynamische Ressource sein.

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