您可以利用默认ItemsPanel值StatusBar是DockPanel. 默认情况下DockPanel,遗嘱会尝试用最后一项填充剩余空间。因此,StatusBarItem您添加到的最后一个StatusBar将填充剩余的空间。要利用这一点,您可以StatusBarItems像这样简单地嵌套:
<StatusBar Name="statusBar1" Height="23" HorizontalAlignment="Stretch" VerticalAlignment="Bottom">
<StatusBarItem Content="Item 1"/>
<StatusBarItem Content="Item 2" />
<StatusBarItem HorizontalAlignment="Right">
<StackPanel Orientation="Horizontal">
<StatusBarItem Content="Item 3"/>
<StatusBarItem Content="Item 4"/>
<ProgressBar Height="15" Width="50" IsIndeterminate="True" Margin="5,0"/>
</StackPanel>
</StatusBarItem>
</StatusBar>
请注意,HorizontalAlignment将 3rdStatusBarItem设置为,Right以便其内容右对齐。
当然,您不必拥有 Item 3 和 Item 4 be StatusBarItems,它们也可以是其他控件,例如Buttons或ProgressBar我在上面演示的。StatusBarItem只是一个将项目包装在 a 中的容器,StatusBar类似于 aComboBoxItem将项目包装在 a 中的方式ComboBox。
如果您不使用它们,它将自动StatusBar包装它的内容,因此项目 1 和 2 可以很容易地成为. 使用的主要原因是在您想要控制工作方式的情况下,例如在第三个中手动设置,而不是依赖默认值。StatusBarItemsTextBoxesStatusBarItemsStatusBarItemStatusBarItemHorizontalAlignment