Я хочу, чтобы окно всегда было максимизировано, оно отлично работает на одном экране. Но когда я использую два экрана (особенно при изменении основного экрана), я улавливаю событие с измененным разрешением и увеличиваю его, но оно не работает. И я попытался разобраться с шириной и высотой окна, он тоже не работает.WPF: Максимальное увеличение окна при переключении главного экрана
вот как я действую:
- Используйте один маленький экран (1366 * 768), и окно максимизируется.
- Подключите другой большой экран (1920 * 1080), который настроен на главный экран (теперь у нас есть два экрана). Затем окно будет отображаться в большом, и оно не будет максимизировано и останется в размере 1366 * 768 (Wierdly иногда увеличивается, но не всегда).
вот мой код:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.WindowState = WindowState.Maximized;
SystemEvents.DisplaySettingsChanged += SystemEvents_DisplaySettingsChanged;
}
//this method catch the resolution changed event
private void SystemEvent_DisplaySettingsChanged(object sender, EventsArgs e)
{
WindowState = WindowState.Maximized;
}
}
окно кода XAML:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
ResizeMode="CanMinimize"
SizeToContent="Manual"
WindowStartupLocation="CenterScreen" />
Хорошая рекомендация, на самом деле я уже пробовал, и я очень уверен, что WindowState настроен на максимизацию после этого, он просто не действует. – McHo
Возможно, свойство 'WindowState' уже настроено на' Maximized' (даже если окно не отображается максимально), поэтому настройка его на «Максимизированный» снова рано возвращается и не пытается на самом деле ничего делать. Вы пытались установить его на «Нормальный», а затем снова на «Максимизированный»? Я обновил свой ответ, чтобы показать, что я имею в виду. – Xavier
Прохладный, он работает! Это точно так же, как вы сказали, он думал, что это уже сделано максимально. Большое вам спасибо. – McHo