我有一个带有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像素,是因为如果最后一个子项被填充(如果显式设置了最后一个子项的高度),它将位于剩余空间的中心。
有几种解决方案取决于您的设计意图。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句