WPF中StatusBarItem类的重点是什么?

M. *_*ley 15 wpf statusbar statusbaritem

StatusBarItem课程应该如何使用?一个内容中的每个元素都StatusBar应该用它包裹吗?

我真的不明白如何StatusBarItem影响StatusBar布局.好像我可以HorizontalAlignment在a上使用StatusBarItem,但是当我StatusBar直接放入元素时:

<StatusBar>
    <TextBlock HorizontalAlignment="Right" Text="Not right" />
    <StatusBarItem HorizontalAlignment="Center">
        <TextBlock Text="Center" />
    </StatusBarItem>
</StatusBar>
Run Code Online (Sandbox Code Playgroud)

此外,如果你裹SeparatorStatusBarItemSeparator变化水平.SeparatorStatusBar没有StatusBarItem包装器直接放入时,默认为垂直.

Ken*_*art 16

A StatusBar是一个ItemsControl.所有人ItemsControl都有一个容器类.对于ListBoxes,它是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>
Run Code Online (Sandbox Code Playgroud)

最后,请注意默认StatusBar使用a DockPanel来布置其子项.当您进行错综复杂的布局时,这可能令人沮丧.请参见我的博客文章在这里就如何将其交换出去Grid.