Я только запускаю WPF, поэтому только учусь, но столкнулся с проблемой при создании полноэкранного UIElement.
У меня есть горизонтальный StackPanel
с 2 элементами UIE внутри: еще 2 StackPanel
с, один слева содержит 3dViewport, а другой StackPanel
из Button
с, а другой справа содержит вертикальную панель стека Rectangle
с.
Когда я делаю левый StackPanel
в полноэкранном режиме, он работает нормально, я удаляю его из внешнего StackPanel
и добавляю его как содержимое окна, как показано ниже в коде:
private void mediaFullscreen(object sender, RoutedEventArgs e)
{
containerPanel.Children.Remove(leftPanel);
this.Content = leftPanel;
this.WindowState = WindowState.Maximized;
this.WindowStyle = WindowStyle.None;
isFullscreen = true;
}
Проблема в том, что когда я выхожу из полноэкранного режима, потому что я снова добавляю левый StackPanel
к внешнему StackPanel
, он добавляется в конец списка / дерева и поэтому появляется справа от (прежнего ) справа StackPanel
(который содержит Rectangle
с), а не слева, как это было до полноэкранного режима. Вот код, который я использую для выхода из полноэкранного режима:
private void keyDownHandler(object sender, KeyEventArgs e)
{
if (isFullscreen)
{
this.Content = Root;
containerPanel.Children.Add(leftPanel);
this.WindowState = WindowState.Normal;
this.WindowStyle = WindowStyle.SingleBorderWindow;
isFullscreen = false;
}
}
Есть ли способ добавить ребенка в определенную позицию, чтобы (бывший) левый StackPanel
снова ставился слева, а не после (бывшего) правого StackPanel справа?
Спасибо за ваше время,
Infinitifizz