В программе при нажатии соответствующей кнопки происходит скрытие столбца, при повторном нажатии - раскрывается. До скрытия/раскрытия с помощью GridSplitter можно спокойно менять ширину столбца, содержимое (Border, в нем вложенный грид и т.д.) также растягивается или сжимается. Однако после выполнения анимации GridSplitter растягивает и сжимает столбец, но содержимое размер не меняет размера, Подскажите, как можно это исправить?
Код функции раскрытия столбца:
DoubleAnimation animation = new DoubleAnimation();
animation.From = 0;
MainPanel.MinWidth = 250;
animation.To = MainPanel.MinWidth;
animation.Duration = TimeSpan.FromSeconds(0.2);
animation.Completed += Animation_Completed;
RootMenu.BeginAnimation(Border.WidthProperty, animation);
Код скрытия столбца:
DoubleAnimation animation = new DoubleAnimation();
animation.From = MainPanel.ActualWidth;
animation.To = 0;
animation.Duration = TimeSpan.FromSeconds(0.2);
MainPanel.MinWidth = 0;
MainPanel.Width = GridLength.Auto;
RootMenu.BeginAnimation(Border.WidthProperty, animation);
MainPanel - имя столбца RootMenu - имя Border.
Что и где необходимо подправить, чтобы после действия анимации GridSplitter работал корректно?
Есть предположение, что после анимации у Border выставляется фиксированная ширина и по этому он не расширяется. Как это исправить, понять не могу
Решение проблемы
Проблема решена путем удаления объекта анимации по ее завершении, обработав событие Completed объекта анимации.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости