子项未显示在DockPanel的预期位置

打猎

我有一个带有DockPanel的窗口,并且在DockPanel中有两个用户控件。正如我期望的那样,“标题”用户控件停靠在窗口顶部。但是,“页脚”用户控件不会停靠在窗口的最底部,而是停靠在页眉下方大约500个像素左右。在空白区域的“页脚”下方可能还有300像素(我只是在猜测它在窗口中的位置)。

页眉控件的DesignHeight为100,页脚控件的DesignHeight为20。

为什么页脚不停靠在窗口的最底部?

MainWindow.xaml代码:

<Window x:Class="RATTA.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:vm="clr-namespace:RATTA.ViewModel"
        xmlns:vw="clr-namespace:RATTA.View"
        Title="RATTA" Height="800" Width="600" Background="WhiteSmoke">

        <DockPanel Width="Auto" Height="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">

            <vw:HeaderVw DataContext="MainHeaderVM" DockPanel.Dock="Top" />

            <vw:FooterVw DataContext="MainFooterVM" DockPanel.Dock="Bottom" />

        </DockPanel>
</Window>
学习

DockPanel中最后一个孩子的DockPanel.Dock属性不执行任何操作,因为LastChildFill默认情况下DockPanel的属性设置为true。因此,分配什么DockPanel.Dock属性都没有关系-如果它是最后一个孩子,它将填充DockPanel的其余部分。

之所以看起来距窗口的标题和底部大约300像素,是因为如果最后一个子项被填充(如果显式设置了最后一个子项的高度),它将位于剩余空间的中心。

有几种解决方案取决于您的设计意图。

  • 在页脚后面放置另一个对象(例如,网格)。这是DockPanel的典型用法-首先停靠工具栏,状态栏,菜单等,并且视图的主要内容是DockPanel中的最后一个对象(它将填充剩余的空间)。
  • 将页脚放在页眉之前。这将导致页脚首先停靠,而页眉将填充其余部分,这可能是您要执行的操作。
  • 或者,将DockPanel的LastChildFill设置为false。这将导致停靠的对象正常工作,但是如果向其添加其他对象,则DockPanel中的剩余空间将不会被填充。
  • 使用其他控件。网格也可以是合适的控件-3行,第一行的高度为Auto,第二行的高度不指定(如果要明确,则为*或1 *),第三行的高度为汽车。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

子项未显示在DockPanel的预期位置

来自分类Dev

元素未显示在预期位置(x)

来自分类Dev

CSS菜单未显示子项

来自分类Dev

CSS菜单未显示子项

来自分类Dev

预期的输出未显示

来自分类Dev

带有菜单控制子项的 tfs 扩展 - 子项未显示

来自分类Dev

程序未显示预期的输出

来自分类Dev

NSDate未显示预期结果

来自分类Dev

AngularJS预期信息未显示

来自分类Dev

代码未显示预期的消息

来自分类Dev

ReentrantLock 未显示预期结果

来自分类Dev

DockPanel不显示孩子

来自分类Dev

Laravel的``小于''查询未显示预期结果

来自分类Dev

Git差异未显示预期的变化

来自分类Dev

R函数pretty()未显示预期结果

来自分类Dev

PHP多维数组未显示预期结果

来自分类Dev

饼图未显示预期输出

来自分类Dev

此 Java 程序未显示预期的死锁

来自分类Dev

InAppBrowser位置栏未显示

来自分类Dev

RightBarButtonItem 未显示在正确位置

来自分类Dev

DriveFolder.listChildren()未显示其所有子项

来自分类Dev

HTML有序列表未显示子项正确

来自分类Dev

自定义线性布局子项未显示

来自分类Dev

Symfony 3-静态CollectionType子项未显示

来自分类Dev

DriveFolder.listChildren()未显示其所有子项

来自分类Dev

jQuery Select2子项未显示为选中状态

来自分类Dev

ListView中的子项目和列名称未显示

来自分类Dev

自定义线性布局子项未显示

来自分类Dev

当前位置的注释图钉未显示