Ответ 1
A StatusBar
является ItemsControl
. Все ItemsControl
имеют класс контейнера. Для ListBox
es это ListBoxItem
. Для StatusBar
, это StatusBarItem
. Если вы явно не переносите свой элемент в StatusBarItem
, он будет неявно завернут в один для вас.
Если вам нужно установить свойства контейнеров ItemsControl
, вы можете использовать свойство ItemContainerStyle
:
<StatusBar>
<TextBlock>One</TextBlock>
<TextBlock>Two</TextBlock>
<TextBlock>Three</TextBlock>
<StatusBar.ItemContainerStyle>
<Style TargetType="StatusBarItem">
<Setter Property="HorizontalAlignment" Value="Right"/>
</Style>
</StatusBar.ItemContainerStyle>
</StatusBar>
Наконец, обратите внимание, что StatusBar
по умолчанию использует DockPanel
для размещения своих дочерних элементов. Это может расстраивать, когда вы выполняете сложные макеты. См. Мой блог здесь о том, как его заменить на Grid
.