2016-04-14 6 views
2

Я хочу настроить различные размеры экрана для разных мониторов.Установить высоту экрана приложения wpf на дополнительном мониторе при максимальном

Разрешение

первично - 1600 * 900,

вторичный - 1920 * 1080

Мое приложение работает отлично на первичном экране, но когда я перетащить приложение на вторичном экране и увеличить , он максимизируется только в соответствии с начальной высотой экрана.

Я хочу, чтобы размер экрана приложения соответствовал текущему экрану.

+0

может вам разместите свой код, который определяет отображение onchange и т. д. – SeeuD1

ответ

3

Я предлагаю вам использовать класс Screen от System.Windows.Forms, чтобы определить, находится ли ваше приложение на втором экране. Необходимо знать, когда пользователь перемещает приложение на второй дисплей и знать его, я использую LocationChanged событие:

Code-за:

private Screen GetSecondaryScreen() 
    { 
     foreach (Screen screen in Screen.AllScreens) 
     { 
      if (screen != Screen.PrimaryScreen) 
       return screen; 
     } 
     return Screen.PrimaryScreen; 
    }   

    private void Window_LocationChanged(object sender, EventArgs e) 
    {    
     if (Screen.PrimaryScreen != GetSecondaryScreen()) 
     { 
      this.WindowState = WindowState.Maximized; 
     } 
    } 

XAML:

<Window x:Class="DateTimePickerDataGridWPF.MainWindow" 
    ...the code omitted for the brevity... 
    Title="MainWindow" Height="350" Width="525" LocationChanged="Window_LocationChanged"> 
</Window>