Как вручную развернуть окно? WindowState.Maximized охватывает всю панель задач Windows.C#

Место общения программистов C#
Anonymous
Как вручную развернуть окно? WindowState.Maximized охватывает всю панель задач Windows.

Сообщение Anonymous »

Я использую собственное решение для заголовка в своем проекте C# WPF. Таким образом, мне нужно реализовать минимизацию/максимизацию/восстановление самостоятельно. У меня проблемы с максимизацией. Использование WindowState.Maximized охватывает всю панель задач Windows, я хочу нормального поведения, не закрывая панель задач Windows.
Похожая тема была на StackOverflow, но она просто привела к сообщению «Remove WindowStyle="None" ". Я не могу этого сделать, это противоречит цели создания индивидуального решения для заголовка.
private void AdjustWindowSize()
{
Image finalImage = new Image();
finalImage.Height = 12;

if (this.WindowState == WindowState.Maximized)
{
this.WindowState = WindowState.Normal; // Restore Window to normal

BitmapImage logo = new BitmapImage();
logo.BeginInit();
logo.UriSource = new Uri("pack://application:,,,/AssemblyName;component/../Resources/Maximize.png");
logo.EndInit();
finalImage.Source = logo;

MaxButton.Content = finalImage;
}
else
{
this.WindowState = WindowState.Maximized; // Maximize window. Issue: covers Taskbar

BitmapImage logo = new BitmapImage();
logo.BeginInit();
logo.UriSource = new Uri("pack://application:,,,/AssemblyName;component/../Resources/Restore.png");
logo.EndInit();
finalImage.Source = logo;

MaxButton.Content = finalImage;
}

AdjustSizes();
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... -whole-win

Вернуться в «C#»