impostazioni mie finestre sono impostati per avere un DPI di 96. Tuttavia quando ho creare la seguente Window
sarà un po 'più piccolo poi il mio schermo (che è impostato per la risoluzione di 1920 * 1080):Perché le unità indipendenti dal dispositivo 1920 non sono 1920 pixel con 96 DPI?
<Window x:Class="WPF_Sandbox.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WPF_Sandbox"
mc:Ignorable="d"
Title="MainWindow"
Width="1920">
</Window>
Secondo a this msdn post del blog:
1 pixel indipendente dal dispositivo = 1/96 di pollice.
1 pixel fisico = 1/DPI (dipendente dal DPI di sistema)Le impostazioni di sistema predefinite in genere scelgono un DPI di 96 in modo che questi due tipi di pixel risultino della stessa dimensione.
Tuttavia questo non sembra essere il caso poiché il mio Window
è chiaramente meno di 1920 pixel di larghezza.
Se si ingrandisce lo Window
e si controlla il suo ActualWidth
, sembra che sia 1936
.
Perché è questo il caso?
Fondamentalmente, quando massimizzo 'Window', sarà più grande dello schermo (quindi' Width' è '1936') a causa del bordo invisibile. Gotcha. –
@TimPohlmann sì; aggiunto un po 'di più alla risposta per affermarlo. – FriendlyGuy