WPF中StatusBarItem类的重点是什么?

时间:2010-01-20 16:38:29

标签: wpf statusbar statusbaritem

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

我真的不明白StatusBarItem如何影响StatusBar布局。好像我可以在HorizontalAlignment上使用StatusBarItem,但是当我将该元素直接放在StatusBar时就不行了:

<StatusBar>
    <TextBlock HorizontalAlignment="Right" Text="Not right" />
    <StatusBarItem HorizontalAlignment="Center">
        <TextBlock Text="Center" />
    </StatusBarItem>
</StatusBar>

此外,如果您将Separator StatusBarItem Separator更改换行为SeparatorStatusBar在没有StatusBarItem包装的情况下直接放入{{1}}时默认为垂直。

1 个答案:

答案 0 :(得分:15)

StatusBarItemsControl。所有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来布置其子项。当您进行错综复杂的布局时,这可能令人沮丧。请参阅我的博文here,了解如何将其换成Grid