C#WPF - 停靠顶部和底部但可扩展的中间部分

时间:2014-02-21 19:25:38

标签: c# wpf dock

我有一个WPF窗口,顶部有一个Set on菜单选项,并且有一个" Next"和"以前"底部的按钮。在窗口的中间,我有一个选项卡控件周围的滚动查看器,以防选项卡控件中的数据超出窗口高度。但是,如果用户最大化窗口,我想让WPF移动底部的按钮并展开中间。

有关从哪里开始的任何建议?

2 个答案:

答案 0 :(得分:2)

如果我正确理解您的问题,您希望窗口的顶部和底部保持固定大小,但是当窗口展开时允许中间部分增长?如果您使用Grid布局,则可以通过以下方式完成此操作:

<Grid>
  <Grid.RowDefinitions>
    <RowDefinition Height="30" />
    <RowDefinition Height="1*" />
    <RowDefinition Height="30" />
  </Grid.RowDefinitions>
  <your controls go here>
</Grid>

..将控件放在这里,第0行应该是顶部的菜单选项,第1行是将随窗口大小增长的中间部分,第2行将是包含Button的底部行控件。

答案 1 :(得分:0)

不必固定第一行和最后一行的宽度,设置为“自动”会将行高调整为该行内控件的高度。并且中间行高度=“*”将使其扩展到可用高度。

<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>