2009-04-04 6 views
8

Je développe une application qui doit être indépendante de la résolution. L'application sera toujours en plein écran, donc je dois concevoir mon interface utilisateur afin que la résolution du moniteur ne nuise pas à l'utilisation de l'application. J'ai passé beaucoup de temps à jouer avec WPF en essayant d'accomplir cela. Aujourd'hui, j'ai découvert la Viewbox. Cela semble résoudre tous mes problèmes. Tout ce que j'ai à faire est de placer les Grilles utilisées pour mettre en page chaque écran dans les Viewboxes et comme par magie j'ai une application indépendante de la résolution.Est-ce que la ViewBox est la meilleure chose à utiliser pour obtenir une indépendance de résolution dans WPF?

Cependant, cela semble juste facile. Ça ne va pas. Devrais-je utiliser Viewboxes? Si non, que devrais-je faire à la place? Avant de découvrir la Viewbox, j'avais de la difficulté à trouver un moyen d'adapter la taille de la police à la résolution. Avec une Viewbox, je n'ai pas à m'inquiéter à ce sujet. Donc, si une Viewbox est la mauvaise chose à utiliser, comment puis-je redimensionner mon texte?

Répondre

2

En fait, vous avez raison. WPF IS résolution indépendante, mais le problème est de savoir comment contrôler la taille des polices.

ViewBoxes doivent être évités, car ils coûtent de la performance, mais je pense qu'un seul ne devrait blesser personne.

Mais attention: Il peut sembler maintenant, mais vous ne pouvez pas afficher autant d'informations avec comme avec 1600x1200 640x480 ... La solution la plus élégante est d'utiliser des modèles dépendants de résolution qui sont demonstratet dans le Photo Suru app.

+0

modèles dépendant de la résolution? Est-ce que cela signifie avoir un modèle pour chaque résolution et au moment de l'exécution déterminez lequel utiliser? Cela semble beaucoup de travail. –

+0

Bien sûr que non. Cela signifie simplement que plusieurs mises en page dépendent de la résolution: par exemple, pour les personnes ayant 800x600 et moins, vous n'affichez qu'une liste, et pour les personnes avec des affichages plus grands, vous pouvez également afficher un panneau d'informations supplémentaires. – Hades32

5

WPF a l'indépendance de la résolution à son noyau. Sa mesure par défaut est en pixels indépendants du périphérique (DIP), et non en pixels. Pouvez-vous expliquer comment cela ne fonctionne pas pour vous, et peut-être fournir un exemple très simple de XAML qui n'est pas mise à l'échelle correctement?

+0

Mon plus gros problème a été avec les polices. Tout le reste, pour la plupart, a été capable de déranger assez pour arriver à une sorte de mise en page qui semble fonctionner à travers les résolutions. Cependant, les écrans que j'ai fait ont pris beaucoup de temps. –

+0

Des conseils généraux sur la façon d'assurer que mes fenêtres affichent la même résolution? Et comment remettre la mise à l'échelle des polices? –

Questions connexes