2015-11-08 70 views
0

是否有一種優雅的方式來獲取該區域的大小(或表格的數量)? enter image description here獲取TabControl的標題尺寸

我知道我可以只添加的每個TabItemActualWidth在一起,由TabControl.Width分攤。但我想知道,如果有更好的方法來做到這一點。

+0

你想要什麼? –

+0

我正在做一個可拖拽的tabcontrol,我想突出顯示你可以放下標籤的區域。 – MyNameIsHans

+0

使用Dragablz。避免嘗試重新發明輪子。 –

回答

1

您可以從選項卡控件的可視化樹中訪問TabPanel。它有名稱HeaderPanel,所以你可以很容易地訪問它:

someTabControl.Loaded += (s, e) => 
{ 
    TabControl tc = (TabControl)s; 
    FrameworkElement root = (FrameworkElement)VisualTreeHelper.GetChild(tc, 0); 
    TabPanel headerPanel = root.FindName("HeaderPanel") as TabPanel; 

    if (headerPanel != null) 
    { 
     Console.WriteLine(headerPanel.ActualHeight); 
    } 
}; 
+0

它的工作原理。謝謝 :) – MyNameIsHans