Question

Je souhaite que mon application WPF soit modifiable, en appliquant un certain modèle XAML, et que les modifications soient appliquées à l'ensemble de l'application, même pour les contrôles dynamiques ou les contrôles ne figurant même pas dans l'arborescence visuelle / logique.

Que puis-je utiliser pour réaliser ce type de fonctionnalité? Existe-t-il de bonnes ressources ou des tutoriels montrant comment cette tâche spécifique peut être effectuée?

Était-ce utile?

La solution

L'approche de base à adopter consiste à utiliser des ressources tout au long de votre application et à remplacer dynamiquement les ressources au moment de l'exécution.

Voir http://www.nablasoft.com/alkampfer/index.php/2008/05/22/simple-skinnable-and-theme-management-in-wpf-user-interface/ pour l'approche de base

Autres conseils

Le remplacement de la ressource fonctionnera, mais j’ai trouvé "un skinning structural". être plus puissant! En savoir plus sur CodeProject ...

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

J'ai trouvé le moyen d'appliquer des modèles génériques à tous les contrôles sans utiliser de clés de modèle. La solution consiste à utiliser le type de contrôle en tant que clé Style.

Exemple:

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

ici, la clé de style est x: Key = "{x: Type Button}", de sorte que le style sera appliqué à tous les contrôles de type bouton sans que celui-ci déclare que la propriété Style est une ressource statique ou dynamique.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top