Waarom is AutoScaleMode woning niet opgenomen in WPF?

stemmen
1

Ik heb lopen in een situatie waarin hoewel minWidth en MinHeight eigenschappen hebben dezelfde waarden op Windows Resolutie (in Windows 7), maar nog steeds mijn aanvraag wordt niet volledig weergegeven op het scherm (een deel van het bovenste deel en een deel van het gebied aan de rechterkant is besnoeiing). Bijvoorbeeld:

MinWidth=1280 MinHeight=960

En de resolutie van Windows is ingesteld op 1280x960. Toch toepassing is niet volledig weergegeven. Echter, als ik de resolutie DPI naar kleinere (96 dpi) te wijzigen, de toepassing correct wordt weergegeven. Hoe kan ik AutoScaleMode te dpi in WPF applicatie.

Zelfs na @Abe Heidebrecht antwoord, zie ik geen verbetering in het resultaat. Bijvoorbeeld hier is wat mijn user interface eruit ziet als ik de toepassing te maximaliseren: (let wel dat ik een seconden monitor, en zwarte gebied is op de tweede monitor)

voer

De vraag is gesteld op 06/08/2013 om 14:46
bron van user
In andere talen...                            


1 antwoorden

stemmen
4

WPF gebruikt inrichtingsonafhankelijke pixels. In WPF, wordt 1 pixel verondersteld 1 / 96e van een inch te zijn (omdat 96 dpi was mot gebruikelijk wanneer WPF werd ontwikkeld). Daarom, als uw monitor een hogere DPI, WPF ook daadwerkelijk melden dat u meer pixels dan 1280x960. Hier is een blog post die ik dacht dat uitgelegd dingen goed .

Ik zou het gebruik SystemParametersklas te krijgen wat je op zoek bent naar:

Width="{DynamicResource {x:Static SystemParameters.FullPrimaryScreenWidthKey}}"
Height="{DynamicResource {x:Static SystemParameters.FullPrimaryScreenHeightKey}}"
antwoordde op 06/08/2013 om 15:36
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more