当我将StackPanel作为最后一个StatusBarItem添加到StatusBar时,它不会填满所有额外的空间。我想知道为什么会这样,因为StatusBar内部使用DockPanel作为ItemsPanel。
以下是示例代码:
<Window x:Class="Foo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Zadatak1"
Title="MainWindow"
WindowState="Maximized">
<DockPanel>
<StatusBar DockPanel.Dock="Bottom">
<StatusBarItem DockPanel.Dock="Left" Background="SkyBlue">
<Label>Status....</Label>
</StatusBarItem>
<StatusBarItem Background="Red" DockPanel.Dock="Right" HorizontalAlignment="Right">
<StackPanel Orientation="Horizontal">
<Label>Time:</Label>
<Label>02:48:AM</Label>
</StackPanel>
</StatusBarItem>
</StatusBar>
</DockPanel>
如果我改变了元素的顺序,那么Label是第一个而StackPanel是第二个,它会填充额外的空间。
答案 0 :(得分:1)
由于您将StatusBarItem
属性设置为HorizontalAlignment
,因此红色Right
不会填充空格。如果您希望它填充Stretch
,请将其更改为默认值DockPanel
。
StackPanel
按预期填充StatusBarItem
。