Когда я читаю ваши требования, вместо Grid
я думаю о DockPanel
.
<DockPanel>
<Grid Name="right"
DockPanel.Dock="Right" MinWidth="100" />
<Grid Name="Left"
DockPanel.Dock="Left" MinWidth="100" />
<Grid Name="middle" />
</DockPanel>
Если вы сделаете способ изменить размер right
, то middle
изменится при изменении размера right
. Если вы измените размер окна, только middle
изменится. Хранение и установка Width
из right
зависит от вас, но не должно быть трудным.
Что касается разрешения пользователю изменять размер right
, это будет немного сложнее, но я нашел эту статью , которая должна помочь. Эта другая статья может помочь еще больше.
Для отображения right
вы можете установить Visibility
на Collapsed
, чтобы скрыть его и восстановить, установив Visible
.
Примечание: панели внутри не обязательно должны быть Grid
с, но вы захотите использовать какое-то Panel
для каждой. Все, что у вас есть внутри ваших текущих Grid
столбцов, должно работать нормально.