为啥 DockPanel.Dock="Bottom" 将元素放在顶部?
Posted
技术标签:
【中文标题】为啥 DockPanel.Dock="Bottom" 将元素放在顶部?【英文标题】:Why does DockPanel.Dock="Bottom" put element at the top?为什么 DockPanel.Dock="Bottom" 将元素放在顶部? 【发布时间】:2010-11-03 14:08:45 【问题描述】:以下代码将两个文本元素放在顶部,即使第二个被标记为“底部”。背景颜色一直到底部,因此 DockPanel 似乎一直延伸到底部。
我对 DockPanel 有什么不了解的地方?
<Window x:Class="TestIndexer934.Views.MainView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:c="clr-namespace:TestIndexer934.Commands"
Title="Main Window" Height="400" Width="800">
<DockPanel HorizontalAlignment="Left" Background="Beige">
<TextBlock DockPanel.Dock="Top" Text="Testing top"/>
<TextBlock DockPanel.Dock="Bottom" Text="Testing bottom"/>
</DockPanel>
</Window>
【问题讨论】:
【参考方案1】:default DockPanel 的最后一项将填满剩余的可用内容区域。
如果您在 DockPanel 上设置 LastChildFill="False"
,您将看到您所期望的行为。你也可以在TextBlock上设置VerticalAlignment="Bottom"
。
【讨论】:
这里很可能是这种情况。见:msdn.microsoft.com/en-us/library/… 谢谢,那行得通,我记得看到过那个属性,现在知道它是干什么用的了以上是关于为啥 DockPanel.Dock="Bottom" 将元素放在顶部?的主要内容,如果未能解决你的问题,请参考以下文章