C # WPF - Скрыть панель задач при максимизации приложения - PullRequest
0 голосов
/ 19 января 2019

Я хочу скрыть панель задач, когда я разверну свое приложение. Он запускается в полноэкранном режиме со скрытой панелью задач (определяется в MainWindow.xaml, определяется с помощью следующего кода):

WindowState="Maximized"
WindowStyle="None"

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

Когда я нажимаю кнопку «Развернуть» в строке заголовка, приложение переходит в полноэкранный режим, но панель задач остается видимой. Я уже пытался установить ResizeMode на NoResize, но он не работает для меня.

Вот мой код:

public MainWindow()
    {
        InitializeComponent();

        StateChanged += MainWindow_StateChanged;
    }

    private void MainWindow_StateChanged(object sender, EventArgs e)
    {
        var state = ((MainWindow)sender).WindowState;

        if(state == WindowState.Normal)
        {
            // When escaping
            ResizeMode = ResizeMode.CanResize;
            WindowStyle = WindowStyle.SingleBorderWindow;
        }
        else if(state == WindowState.Maximized)
        {
            // When maximizing
            ResizeMode = ResizeMode.NoResize;
            WindowStyle = WindowStyle.None;
            Topmost = true;
        }
    }

    private void Window_KeyDown(object sender, KeyEventArgs e)
    {
        if(e.Key == Key.Escape)
        {
            WindowState = WindowState.Normal;
        }
    }

1 Ответ

0 голосов
/ 19 января 2019

Вы должны изменить код, как показано ниже:

Ссылка: эта ссылка

MaxHeight = SystemParameters.MaximizedPrimaryScreenHeight;
MaxWidth = SystemParameters.MaximizedPrimaryScreenWidth;

Вы также можете попробовать API Win32, упомянутые в этой теме .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...