Comment puis-je convertir un WPF taille physique de pixels?

Quel est le meilleur moyen de convertir un WPF (indépendant de la résolution) la largeur et la hauteur de la physique pixels de l'écran?

Je vais les montrer WPF contenu dans un WinForms Formulaire (via ElementHost) et en essayant de travailler avec certains de dimensionnement de la logique. Je l'ai bien fonctionner lorsque le système d'exploitation est en cours d'exécution par défaut de 96 dpi. Mais il ne fonctionne pas lorsque le système d'exploitation est fixée à 120 dpi ou une autre résolution, parce qu'alors un WPF élément qui rend compte de sa Largeur 96 sera effectivement 120 pixels de large autant que WinForms est concerné.

Je ne pouvais pas trouver toutes les "pixels par pouce" paramètres de Système.De Windows.SystemParameters. Je suis sûr que je pourrais utiliser les WinForms équivalent (Système d'.De Windows.Les formulaires.SystemInformation), mais est-il une meilleure façon de le faire (lire: un chemin à l'aide de WPF Api, plutôt que d'utiliser des WinForms Api et manuellement de faire le calcul)? Quel est le "meilleur moyen" pour convertir WPF "pixels" de vrais pixels de l'écran?

EDIT: je suis aussi à la recherche de le faire avant le contrôle WPF est indiqué sur l'écran. Il ressemble Visuelle.PointToScreen pourraient être apportées à me donner la bonne réponse, mais je ne peux pas l'utiliser, car le contrôle n'est pas apparenté encore et je reçois InvalidOperationException "Ce Visuel n'est pas connecté à un PresentationSource".

  • Est-ce cela que vous cherchez? books.google.com/...
  • c'est juste une vue d'ensemble conceptuelle - il ne donne pas de code pour convertir à partir de WPF de pixels, et il n'a pas d'expliquer la façon de traiter les conditions aux limites.
InformationsquelleAutor Joe White | 2010-07-20