Как вернуть закругленные углы после разворачивания окна? ⇐ C#

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

Сообщение Anonymous »

Я использую WindowStyle None, и моя панель навигации представляет собой прямоугольник с параметрами RadiusX и RadiusY, установленными на 16 для обычного WindowState, и я хочу, чтобы они были равны 0, когда окно развернуто.
Мне удалось довести их до 0 при максимизации, но при последующем переходе в нормальное состояние они не меняются обратно.
Вот что я пробовал:
  • Развернуто в нормальное состояние

Код: Выделить всё

            if (WindowState == WindowState.Maximized)

{
WindowState = WindowState.Normal;
NavBar.RadiusX = 16;
NavBar.RadiusY = 16;
}

else
WindowState = WindowState.Maximized;
NavBar.RadiusX = 0;
NavBar.RadiusY = 0;
  • От нормального до максимального (углы остаются круглыми)

Код: Выделить всё

            if (WindowState == WindowState.Normal)

{
WindowState = WindowState.Maximized;
NavBar.RadiusX = 0;
NavBar.RadiusY = 0;
}

else
WindowState = WindowState.Normal;
NavBar.RadiusX = 16;
NavBar.RadiusY = 16;
Также копируем прямоугольник панели навигации, изменяем радиусы и ставим его скрытым в XAML и пытаемся переключить видимость в C#, вот так:

Код: Выделить всё

            if (WindowState == WindowState.Maximized)

{
WindowState = WindowState.Normal;
NavBarM.Visibility = Visibility.Hidden;
}

else
WindowState = WindowState.Maximized;
NavBarM.Visibility = Visibility.Visible;
Это дало мне тот же результат, что и первый.

Подробнее здесь: https://stackoverflow.com/questions/791 ... the-window

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