【发布时间】:2011-01-29 10:04:37
【问题描述】:
我有一个 WPF 用户控件,上面有两个网格。底部网格位于 ScrollViewer 中。这个想法是让第一个网格成为第二个网格的标题。但是,我在列的宽度方面遇到了问题。两个 Grid 都应该占据所有空间(窗口的宽度),但顶部 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>
这实际上渲染得很好,除了顶部 Grid 的最右列延伸到滚动条上,我想避免这种情况。!
这是结果的图像:Grid column and width of scrollbar。红色表示列/单元格现在的位置,但我希望它停在蓝线处。我已经尝试过 SharedSizeGroups,但这似乎使我的网格再次变小(不占用窗口的全部空间)。
【问题讨论】:
标签: wpf grid width scrollviewer