C# WPF - 顶部和底部停靠但可扩展的中间部分
Posted
技术标签:
【中文标题】C# WPF - 顶部和底部停靠但可扩展的中间部分【英文标题】:C# WPF - Docked top and bottom but expandable middle section 【发布时间】:2014-02-21 19:25:37 【问题描述】:我有一个 WPF 窗口,顶部有一个“设置”菜单选项,底部有一个“下一个”和“上一个”按钮。在窗口中间,我在选项卡控件周围有一个滚动查看器,以防选项卡控件中的数据超过窗口高度。但是,如果用户最大化他们的窗口,我想让 m WPF 移动底部的按钮并展开中间。
关于从哪里开始有什么建议吗?
【问题讨论】:
您使用的是什么类型的布局?Grid
?
是的。整个 WPF 位于一个 Grid 中,第一行是导航按钮,另一行是 WPF,第三行是 Next 按钮。
你应该能够使第二行的高度可扩展,我刚刚发布了一个答案来说明如何。
"...另一个中的 WPF..." 所以Buttons
不是 WPF?抱歉,只是搞笑。
【参考方案1】:
如果我正确理解您的问题,您希望窗口的顶部和底部保持固定大小,但在窗口展开时允许中间部分增大?如果您使用的是Grid
布局,那么您可以通过以下方式实现:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="1*" />
<RowDefinition Height="30" />
</Grid.RowDefinitions>
<your controls go here>
</Grid>
.. 将您的控件放在这里,第 0 行应该是顶部的菜单选项,第 1 行是会随着窗口大小而增长的中间部分,第 2 行将是包含Button
控件的底部行。
【讨论】:
【参考方案2】:不必固定第一行和最后一行的宽度,设置为“自动”会将行高调整为该行内控件的高度。中间的行 会使其扩展到可用高度。
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Button Grid.Row="0" />
<Button Grid.Row="1" VerticalAlignment="Stretch" /> <!-- Will take available space -->
<Button Grid.Row="2" />
</Grid>
【讨论】:
谢谢! 这是我一直在寻找的。span>以上是关于C# WPF - 顶部和底部停靠但可扩展的中间部分的主要内容,如果未能解决你的问题,请参考以下文章
DockPanel 中的 WPF4 TabControl/Grid 隐藏了 StatusBar