2016-01-18 66 views
0

我在我的程序中得到了一个要求,以适应所有不同分辨率的屏幕。 我曾尝试下面的代码在XAML,但没有运气:(在C#中的屏幕分辨率 - wpf

标题= “配置” 图标= “图像/ Logo.png” 背景= “{StaticResource的SAFMThemeWindowBackGroundColour}” EnableDWMDropShadow = “真” WindowStartupLocation = “中心屏幕” 的WindowState = “最大化” 加载= “Window_Loaded” 关闭= “WINDOW_CLOSING” 了minHeight = “725” MinWidth = “1366” 宽度= “{结合SystemParameters.PrimaryScreenWidth}” HEIGHT = “{结合SystemParameters.PrimaryScreenHeight}”>

请帮助我..我在WPF中不够好。

+0

SystemParameters.PrimaryScreenWidth *返回*像素,Window.Width要求*英寸x。 Google“wpf将像素转换为英寸”。或者只是不要打扰,并将窗口的WindowState属性设置为WindowState.Maximized –

+0

感谢Hans Passant的回复,但WindowState.Maximized不起作用我的屏幕分辨率是1920 * 1080,它在客户端的屏幕上的不同也可以在其他机器上更改,但是我希望我的应用程序适合所有的分辨率。 – Sid

回答

0

我发现这个代码来解决问题:

public MainForm() 
    { 
     InitializeComponent(); 
     this.Loaded += SwapResol; 
    } 


    private void SwapResol(object sender, EventArgs e) 
    { 
     double width = System.Windows.SystemParameters.PrimaryScreenWidth; 
     if (width == 1920) 
     { 
      //Code Here 
     } 
     else if (width == 1280) 
     { 
      //Code Here 
     } 
     else if (width == 1600) 
     { 
      //Code Here 
     } 

}