StatusBarItem类应该如何使用?StatusBar内容中的每个元素都应该包含在其中吗?
我真的不明白StatusBarItem是如何影响StatusBar布局的。似乎我可以在StatusBarItem上使用HorizontalAlignment,但当我直接将元素放在StatusBar中时就不能了:
<StatusBar>
<TextBlock HorizontalAlignment="Right" Text="Not right" />
<StatusBarItem HorizontalAlignment="Center">
<TextBlock Text="Center" />
</StatusBarItem>
</StatusBar>此外,如果您将Separator包装在StatusBarItem中,则Separator将变为水平。当不使用StatusBarItem包装器而直接放入StatusBar时,Separator的默认设置是垂直的。
发布于 2010-01-21 00:56:59
StatusBar是一种ItemsControl。所有的ItemsControl都有一个容器类。对于ListBoxes,它是ListBoxItem。对于StatusBar,它是StatusBarItem。如果您没有显式地将项包装在StatusBarItem中,那么它将隐式地包装在一个for中。
如果需要设置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。
https://stackoverflow.com/questions/2103090
复制相似问题