Bien que dans théorie, 1 unité dans WPF est 1/96e de pouce, ce qui est souvent pas le cas en pratique.
C'est généralement vrai lors de l'impression. Mais c'est rarement vrai à l'écran. La raison en est que Windows connaît presque toujours la vraie résolution d'une imprimante, mais ne connaît presque jamais la vraie résolution d'un écran.
Par exemple, j'ai trois écrans attachés à mon ordinateur. Windows pense qu'ils ont tous une résolution de 96 pixels par pouce. En fait, ils ne le font pas. Deux d'entre eux ont une résolution de 101 pixels par pouce, et un a une résolution de 94 pixels par pouce. (Parce que Windows n'a aucun moyen de travailler les vraies résolutions pour lui-même, et je ne l'ai pas dit.) La fiction qu'ils ont tous la même taille de pixel est proche de la vérité, et s'avère être une fiction pratique. Donc, quand je crée, disons, un Rectangle dans WPF avec Largeur et Hauteur tous les deux réglés sur 96, la taille du Rectangle dépend de l'écran sur lequel il apparaît. Windows pense que les trois écrans ont une résolution de 96 pixels par pouce, ce qui rend le rectangle de 96 pixels de hauteur et de largeur, quel que soit l'écran sur lequel il apparaît. Cela fera apparaître 0,95 pouces de hauteur sur deux des écrans, et 1,02 pouces de haut sur le troisième. Donc, en pratique, cela signifie que les unités de WPF sur mon ordinateur sont soit 1/100ème de pouce, soit 1/94ème de pouce en pratique. (En d'autres termes, en pratique, la taille d'une unité dans WPF correspond exactement à la taille de 1 pixel de ma configuration particulière, quelle que soit la taille des pixels.
Je pourrais changer cela. Je pourrais reconfigurer Windows - je pourrais lui dire la résolution réelle de tous les 3 écrans, auquel cas les tailles d'unités WPF nominales et réelles coïncideraient. Ou je pourrais mentir - je pourrais prétendre que j'ai des écrans de 200 pixels par pouce, dans ce cas tout serait énorme ...
Le problème de base ici est qu'il n'y a pas de façon standard pour l'ordinateur de découvrir la vraie taille des pixels physiques sur l'écran, et très peu de gens prennent la peine de le configurer à la main. (Et en fait, vous pouvez causer des problèmes en le configurant correctement, car beaucoup de logiciels ne se comportent pas correctement quand vous le faites.) Donc la majorité des ordinateurs Windows ne signalent pas correctement les tailles de pixels physiques à WPF - ils peuvent t parce qu'ils ne savent pas.
Par conséquent, il n'y a pas de réponse fiable à la question - 1 unité dans WPF pourrait être à peu près n'importe quoi à l'écran. (En pratique, la plupart du temps, il s'avère être 1 pixel, simplement parce que si vous ne dites rien à Windows, il est par défaut de supposer que vos écrans ont des pixels qui mesurent 1/96ème de pouce, ce qui est La même chose que pour une unité WPF, et pour la plupart des écrans de bureau, il est fort probable que ce soit une bonne idée, mais ce n'est pas universel. une résolution d'écran nominale différente, et 1 unité WPF correspondra à un peu plus de 1 pixel physique - environ 1,2 en fait.)
Avec les imprimantes, tout est beaucoup plus prévisible. Les imprimantes sont invariablement capables de rapporter leurs résolutions correctement. Donc, si vous imprimez quelque chose qui fait 96 unités WPF de haut, vous pouvez être sûr qu'il sera de 1 pouce de haut.
Pas de pixles. Unités indépendantes du dispositif. –
Je vais devoir jouer avec mes paramètres dans Illustrator. J'ai utilisé des pixels pour tout sauf du texte. Voici quelques informations supplémentaires concernant WPF vs Silverlight http://msdn.microsoft.com/en-us/library/cc903925(VS.95).aspx – Quentamia
FYI: Microsoft utilise 96 ppp. Adobe Illustrator utilise 72 ppp. – Quentamia