StatusBar 中的 StackPanel 不会拉伸
StackPanel in StatusBar won't stretch
当我将 StackPanel 作为最后一个 StatusBarItem 添加到 StatusBar 时,它不会填满所有额外的 space。我想知道为什么会这样,因为 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 排在第二位,它会额外填充 space。
红色 StatusBarItem
没有填充 space,因为您将其 HorizontalAlignment
属性 设置为 Right
。如果要填充 DockPanel
.
,请将其更改为默认值 Stretch
StackPanel
确实按预期填充了 StatusBarItem
。
当我将 StackPanel 作为最后一个 StatusBarItem 添加到 StatusBar 时,它不会填满所有额外的 space。我想知道为什么会这样,因为 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 排在第二位,它会额外填充 space。
红色 StatusBarItem
没有填充 space,因为您将其 HorizontalAlignment
属性 设置为 Right
。如果要填充 DockPanel
.
Stretch
StackPanel
确实按预期填充了 StatusBarItem
。