![](/img/trans.png)
[英]WPF StatusBar with single StatusBarItem and ComboBox to fill the entire width
[英]What is the point of the StatusBarItem class in WPF?
應該如何使用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
包裝Separator
的情況下直接放入StatusBar
時, Separator
默認為垂直。
StatusBar
是ItemsControl
。 所有ItemsControl
都有一個容器類。 對於ListBox
,它是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
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.