我有一个WPF UserControl与两个网格上面彼此。底部网格位于ScrollViewer中。这个想法是让第一个Grid成为第二个Grid的头部。但是,我在列的宽度上遇到了问题。两个网格都应占用所有可能的空间(窗口的宽度),但顶部网格当然应该宽一些,因为底部网格右侧有一个滚动条。给一个WPF网格的ScrollViewer的宽度减去滚动条
这是简化的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 column and width of scrollbar。红色表示列/单元格现在在哪里,但我希望它停在蓝线上。我已经尝试过SharedSizeGroups,但这似乎使我的网格再次变小(不占用窗口的整个空间)。
你能解释为什么这个答案有效或有用吗? – 2016-03-25 17:22:44