WPF应用程序不适合所有监视器屏幕

时间:2017-05-22 19:28:56

标签: wpf wpf-controls prism wpftoolkit

我的WPF应用程序适合我的计算机屏幕,屏幕分辨率为1920 * 1080.但是相同的WPF应用程序不适合我的Microsoft Surface屏幕具有相同的分辨率1920 * 1080.确切的问题是,它没有' t显示那台小笔记本电脑中的滚动条。问题在于我遇到问题的页面的XAML以及托管它的窗口。任何建议将不胜感激。感谢。

现在代码就像这样。

  <Page x:Class="form_Dock" Background="#FF19191E"  MouseEnter="Page_MouseEnter" 
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:local="clr-namespace:ABC.UI" SnapsToDevicePixels="True">

1 个答案:

答案 0 :(得分:0)

这可能是WPF使用设备无关像素确定应用程序大小而导致的扩展问题。 Surface屏幕非常小,因此在Windows中可能会进行一些缩放以进行补偿,这会导致窗口大小不足。

您可以通过将窗口元素上的SnapsToDevicePixels设置为true来解决问题:

https://msdn.microsoft.com/en-us/library/system.windows.uielement.snapstodevicepixels(v=vs.110).aspx

此外,这很好地解释了与设备无关的像素:

https://wpf.2000things.com/2013/02/19/759-device-independent-units-dips/