У меня есть пользовательский элемент управления WPF с двумя сетками друг над другом. Нижняя сетка находится в ScrollViewer. Идея состоит в том, чтобы первая Grid была заголовком второй Grid. Однако у меня проблемы с шириной столбцов. Обе сетки должны занимать все пространство, которое они могут (ширина окна), но верхняя сетка, конечно, должна быть немного менее широкой, потому что справа от нижней сетки есть полоса прокрутки.
Это упрощенный Xaml, который я получил:
<UserControl>
<DockPanel>
<Grid DockPanel.Dock="Top">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
</Grid>
<ScrollViewer>
<Grid>
<Grid.ColumnDefintions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefintions>
</Grid>
</ScrollViewer>
</DockPanel>
</UserControl>
На самом деле это нормально, за исключением того, что самый правый столбец верхней сетки выходит за полосу прокрутки, чего я хочу избежать.!
Вот изображение результата: Столбец сетки и ширина полосы прокрутки . Красный цвет указывает, где сейчас находится столбец / ячейка, но я хочу, чтобы он остановился на синей линии. Я пробовал SharedSizeGroups, но это, кажется, снова делает мои сетки маленькими (не занимая все пространство окна).