WPF屏幕分辨率

时间:2013-11-26 10:13:51

标签: wpf

我一直在研究WPF桌面应用程序,并根据特定的屏幕分辨率拥有图形。我需要根据屏幕分辨率缩放所有边距。我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:1)

你可以使用:

System.Windows.SystemParameters.PrimaryScreenWidth;
System.Windows.SystemParameters.PrimaryScreenHeight;

进行一些搜索:)

答案 1 :(得分:0)

要获得Screen Resolutions我们必须使用系统的dpi因子值,请按照this article使用以下代码(请完整阅读以理解):

using System.Windows.Media;


Window mainWindow = Application.Current.MainWindow;
PresentationSource mainWindowPresentationSource = PresentationSource.FromVisual(mainWindow);
Matrix m = mainWindowPresentationSource.CompositionTarget.TransformToDevice;
double dpiWidthFactor = m.M11;
double dpiHeightFactor = m.M22;
double ScreenHeight = SystemParameters.PrimaryScreenHeight * dpiHeightFactor; //calculated correct value
double ScreenWidth = SystemParameters.PrimaryScreenWidth * dpiWidthFactor; //calculated correct value

答案 2 :(得分:0)

添加对:-System.Windows.Forms的引用

var width = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Width;