2009-06-11 7 views
2

Dans WPF, comment est-ce que je modifie le modèle pour un contrôle standard de manière à respecter plus tard le thème actuel du système d'exploitation? Si je viens de "modifier une copie" du modèle en fusion, cela me donnera juste le modèle du thème en cours d'exécution. Est-ce correct? Ainsi, lorsque j'applique le modèle modifié et que j'exécute l'application sur des thèmes différents, elle sera toujours la même.Ajuster un modèle de contrôle et toujours respecter le thème de l'OS?

Pour les contrôles personnalisés et même pour les modèles de données, le problème est similaire. Comment puis-je fournir un modèle qui respecte tous les thèmes possibles de l'OS?

Répondre

0

Je ne pense pas que ce soit possible. Si vous créez un modèle pour un contrôle, vous remplacez l'ensemble du modèle de contrôle.

Vous pouvez utiliser des styles pour configurer uniquement les propriétés exposées, mais si vous modifiez le modèle, vous n'êtes plus lié au thème. Vous pouvez créer un remplacement distinct du modèle pour chaque thème, mais vous devrez définir chacun explicitement et si Microsoft a créé un nouveau thème, vous devrez créer un nouveau modèle pour le faire correspondre.

Voir ma propre question associée - When overriding WPF templates do I have to override each theme’s template separately?

Questions connexes