问题描述:
1、我有一个全屏显示的WPF软件,使用了ViewBox做自适应窗口显示,我想知道在已知电脑的分辨率、控件的原始大小尺寸的情况下如何计算在不同分辨率下控件缩放了多少?比如在1440 : 900的情况下是多少?再比如在800 : 600的情况下又是多少?该如何计算该控件在不同的电脑分辨率缩放的大小呢?
1、我有一个全屏显示的WPF软件,使用了ViewBox做自适应窗口显示,我想知道在已知电脑的分辨率、控件的原始大小尺寸的情况下如何计算在不同分辨率下控件缩放了多少?比如在1440 : 900的情况下是多少?再比如在800 : 600的情况下又是多少?该如何计算该控件在不同的电脑分辨率缩放的大小呢?
double screenWidth = SystemParameters.PrimaryScreenWidth;
int resolutionWidth = System.Windows.Forms.SystemInformation.VirtualScreen.Width;
double scale = resolutionWidth / screenWidth ;
this.Width = width / scale;
this.Height = height/ scale;
如果要获得屏幕分辨率可以用
Screen.PrimaryScreen.WorkingArea.Width.ToString();
Screen.PrimaryScreen.WorkingArea.Height.ToString();
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;http://msdn.microsoft.com/zh-cn/library/ms229649(VS.80).aspx
这也是 wpf 程序?wpf 的呈现机制本身就和设备无关 使用的是逻辑布局 干嘛要自动转换呢你学 excel word 一样做个缩放的功能 让用户自己去玩就是啦
1)现在我在不同的计算机下运行软件WinForm中的PictureBox控件总是不会自动调整大小,所以我想是否可以通过计算机的分辨率计算出显示那块的大小,然后我就可以把我需要显示的内容显示在计算出来的大小中了
2)现在遇到的问题就是这个值一直算不出来,是写死了的值,在1440:900的分辨率下面显示完全了,但是换了一个分辨率就又出现问题了,主要是显示区域不能够根据分辨率来自适应。