ustawień moje okna są ustawione mieć DPI 96. Jednak gdy tworzę następujące Window
będzie trochę mniejszy niż mojego ekranu (który jest ustawiony na rozdzielczość 1920 * 1080):Dlaczego urządzenia niezależne od urządzenia są 1920 r., A nie 1920 pikseli i 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>
Według do this msdn wpis na blogu:
1 niezależne urządzenie piksel = 1/96 cala.
1 fizyczny piksel = 1/DPI (w zależności od systemu DPI)Domyślne ustawienia systemowe zwykle wybierają DPI 96, więc te dwa rodzaje pikseli mają taki sam rozmiar.
Nie wydaje się, aby tak było, ponieważ mój Window
ma wyraźnie mniej niż 1920 pikseli szerokości.
Jeśli zmaksymalizować wartość Window
i sprawdzić jej ActualWidth
, wygląda na to, że jest to 1936
.
Dlaczego tak się dzieje?
W zasadzie, kiedy zmaksymalizuję "Okno", będzie ono większe niż ekran (dlatego "Szerokość" to "1936") z powodu niewidzialnej granicy. Mam cię. –
@TimPohlmann tak; dodał nieco więcej do odpowiedzi, aby to stwierdzić. – FriendlyGuy