[英]How to change the background color of the TabPanel in a TabControl?
[英]How can I conditionally hide the TabPanel portion of a TabControl in its entirety?
我發現這個問題有很多變體,但是對話似乎總是圍繞着單個TabItems
,而不是圍繞TabPanel
本身展開。
我的主窗口上有一個TabControl
。 這些選項卡是視圖。 這些視圖之一是特殊的……導航顯示,而其他所有視圖都是導航視圖可以打開的“部分”。
我要完成的工作是,當用戶查看導航視圖時,所有選項卡都消失了。 即隱藏整個TabPanel
而不必一次一個地隱藏每個TabItem
。 在查看任何其他頁面時,將顯示選項卡,以便在視圖之間輕松移動。
我遇到的問題是, TabPanel
似乎沒有要進行綁定到Visibility
屬性的DataTrigger
類的Template
,可以重寫該Template
。 我得到的最接近的是一個普通的老式Style.Setter
。
關於如何獲得我所追求的任何建議?
您基本上可以自己提供答案-正確的組合是將Style
與DataTrigger
一起使用。 訣竅是定義一個TargetType
設置為{x:Type TabPanel}
的Style
,並將其作為TabControl
的資源-這樣,該樣式將應用於TabPanel
(因為這是隱式樣式 )。 這是一個例子:
<TabControl (...)>
<TabControl.Resources>
<Style TargetType="{x:Type TabPanel}">
<Style.Triggers>
<DataTrigger Binding="{Binding SelectedIndex, RelativeSource={RelativeSource AncestorType=TabControl}}"
Value="0">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</TabControl.Resources>
(...)
</TabControl>
在此示例中,選擇第一項時面板將折疊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.