2011-12-13 122 views
2

我有一個tabcontrol,我想把一些tabitem標題對齊到左邊,其他人對齊到右邊。如在此模擬截圖:如何讓一些標籤左對齊,其他標籤右對齊? (TabControl在wpf)

http://img269.imageshack.us/img269/8894/tabcontrol.png

我已經試過不已:

  • 樣式:

align wpf tabcontrol strip

:我可以用這個右對齊的TabItem但我一直無法找到混合左右對齊的選項卡項目的方法。

  • 使用兩個的TabControls:我有兩個重疊的TabControls,一個左對齊選項卡,其他與右對齊的標籤。困難在於讓他們切換。當用戶單擊標籤標題時(即使Ishitvisible = true),單擊或MouseDown不會始終激活。 SelectionChanged不起作用,因爲如果用戶以前在TabControl 2中選擇了選項卡'D',則轉到Tab'A'並返回到'D' - TabControl 2不知道選擇已更改。

在這一點上,我的想法。

+0

`當用戶單擊標籤標題時,Click或MouseDown不會始終激發 - 相反會發生什麼? `SelectionChanged ...`應該發生什麼?請舉例說明正在發生的行爲和目標行爲。 – 2011-12-13 18:13:28

+0

「標題」不會​​觸發MouseDown事件。你可以把一個TextBlock作爲標題內容,但它比整個標題小,所以有時它會捕獲點擊,有時它不會。 – Sugrue 2011-12-14 10:10:23

回答

2

您可以嘗試覆蓋TabPanel的模板,但如果這樣做不起作用,則必須覆蓋TabControl.Template。默認控件模板可以發現here

編輯

只是測試,並TabPanel沒有可以覆蓋一個模板,所以你最好的選擇將覆蓋TabControl.Template使用自己的面板託管的TabItems。

0

感謝「Andrew Hanlon」,您可以使用Blend編輯TabControl模板。

  • 更換TabPanelDockPanel
  • 然後加入HorizontalAlignment="Right"

它適用於我。