2015-11-08 72 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