我们有一个WPF可执行文件,可以创建一个然后动态加载多个程序集。每个程序集代表一个显示在其中一个选项卡中的屏幕(.xaml)。问题是窗口正下方而不是窗口底部。如何强制始终位于底部 窗口? THX!
UserControl
DockPanel
CheckBox
StatusBar
DockPanel
UserControl
答案 0 :(得分:14)
除了ArsenMkrt关于包含DockPanel.Dock =“Bottom”属性的答案之外,不要忘记DockPanel中的LAST元素将填充该区域,除非您使用height命令明确告诉它(无论DockPanel如何) .Dock属性提供)。
我的建议是这样做:
<UserControl>
<DockPanel>
<StatusBar DockPanel.Dock="Bottom" />
<CheckBox />
</DockPanel>
</Usercontrol>
答案 1 :(得分:4)
我刚才遇到了同样的问题。感谢Stephen Wrighton的提示最后元素添加到DockPanel
填充了剩下的区域,我想出了如何设置我的Window
。这有点奇怪,因为我最后添加了Grid
,但它位于中间。
<Window>
<DockPanel>
<Menu DockPanel.Dock="Top">
<MenuItem Header="_File">
</MenuItem>
</Menu>
<StatusBar DockPanel.Dock="Bottom">
<StatusBarItem Content="Filler" />
</StatusBar>
<Grid x:Name="rootGrid">
</Grid>
</DockPanel>
</Window>
答案 2 :(得分:1)
你试过吗?
<StatusBar DockPanel.Dock="Bottom" ... />
答案 3 :(得分:0)
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<DockPanel Grid.Row="0"/>
<StackPanel Grid.Row="1">
<StatusBar>Status Text</StatusBar>
</StackPanel>
答案 4 :(得分:0)
就我而言,添加 DockPanel.Dock="Bottom" 还不够,我还被迫添加了 VerticalAlignment="Bottom"。
<StatusBar DockPanel.Dock="Bottom" VerticalAlignment="Bottom" />