|
1 | | -using MS.Win32; |
2 | | -using Standard; |
3 | | -using System; |
4 | | -using System.Diagnostics; |
| 1 | +using System; |
5 | 2 | using System.Runtime.InteropServices; |
6 | 3 | using System.Windows; |
7 | 4 | using System.Windows.Controls; |
8 | 5 | using System.Windows.Interop; |
9 | | -using System.Windows.Media; |
| 6 | +using MS.Win32; |
| 7 | +using Standard; |
10 | 8 | using NativeMethods = Standard.NativeMethods; |
11 | 9 |
|
12 | 10 | namespace ModernWpf.Controls.Primitives |
@@ -216,22 +214,12 @@ private Thickness GetMaximizedWindowBorder() |
216 | 214 | return new Thickness(); |
217 | 215 | } |
218 | 216 |
|
219 | | - double dpiScaleX, dpiScaleY; |
220 | | -#if NET462_OR_NEWER |
221 | | - DpiScale dpi = VisualTreeHelper.GetDpi(_window); |
222 | | - dpiScaleX = dpi.DpiScaleX; |
223 | | - dpiScaleY = dpi.DpiScaleY; |
224 | | -#else |
225 | | - Matrix transformToDevice = _hwndSource.CompositionTarget.TransformToDevice; |
226 | | - dpiScaleX = transformToDevice.M11; |
227 | | - dpiScaleY = transformToDevice.M22; |
228 | | -#endif |
229 | | - |
| 217 | + var dpi = _window.GetDpi(); |
230 | 218 | int frameWidth = NativeMethods.GetSystemMetrics(SM.CXSIZEFRAME); |
231 | 219 | int frameHeight = NativeMethods.GetSystemMetrics(SM.CYSIZEFRAME); |
232 | 220 | int borderPadding = NativeMethods.GetSystemMetrics(SM.CXPADDEDBORDER); |
233 | 221 | Size borderSize = new Size(frameWidth + borderPadding, frameHeight + borderPadding); |
234 | | - Size borderSizeInDips = DpiHelper.DeviceSizeToLogical(borderSize, dpiScaleX, dpiScaleY); |
| 222 | + Size borderSizeInDips = DpiHelper.DeviceSizeToLogical(borderSize, dpi.DpiScaleX, dpi.DpiScaleY); |
235 | 223 |
|
236 | 224 | return new Thickness(borderSizeInDips.Width, borderSizeInDips.Height, borderSizeInDips.Width, borderSizeInDips.Height); |
237 | 225 | } |
|
0 commit comments