WPF:DockPanel docked中的两个控件;Top";及;底部“;底部仍留有空间
我有一个简单的WPF用户控件,如下所示 我不明白为什么这个代码没有将绿色网格固定到DockPanel的底部: 如果我在两个块之间添加了一些内容,则绿色将固定在底部: 下面是简单的代码:WPF:DockPanel docked中的两个控件;Top";及;底部“;底部仍留有空间,wpf,dockpanel,Wpf,Dockpanel,我有一个简单的WPF用户控件,如下所示 我不明白为什么这个代码没有将绿色网格固定到DockPanel的底部: 如果我在两个块之间添加了一些内容,则绿色将固定在底部: 下面是简单的代码: <UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:tWorks.Alfa.OperatorClient.UserControls.Vehicles"
xmlns:dxlc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol" x:Class="tWorks.Alfa.OperatorClient.UserControls.Vehicles.Misc_Vehicles_GpsTrackBarContext"
mc:Ignorable="d"
d:DesignHeight="260" d:DesignWidth="450">
<DockPanel>
<Grid DockPanel.Dock="Top" Height="50" Background="Red"></Grid>
<Grid DockPanel.Dock="Bottom" Height="50" Background="Green"></Grid>
<Grid Height="50" Background="Blue"></Grid>
</DockPanel>
谢谢=)您需要防止最后一个孩子拉伸:
<DockPanel LastChildFill="False"/>
否则,最后一个子项的
DockPanel.Dock=“Bottom”
将被忽略,并将其放置在整个剩余区域中。因为它的Height=“50”
谢谢,所以它将在那里对齐!不过,这是一种非常奇怪的行为。有人可能会想,原因是什么。。。“理由”是个大字。。。但是我希望WPF开发人员能够允许一个DockPanel.Dock=“Fill”
,这样我们就不需要把filling元素放在最后,也不需要修改默认的标签顺序等等。。。我无法给出原因,只知道我自己是通过艰苦的方式学会的,所以现在回答别人的问题相对容易:)