2011-06-10 24 views
1

我正在使用VS2010的WPF功能区应用程序。每个RibbonGroup都有一个Header。即使如果我将标题留空,功能区仍会为标题预留空白区域。我怎样才能以编程方式隐藏标题?以编程方式隐藏WPF功能区标题

举例来说,我下面的XAML:

<ribbon:RibbonTab x:Name="HelpTab" 
        Header="Help" FontSize="10"> 
    <ribbon:RibbonGroup x:Name="HelpGroup" 
         Header="Help Group" FontFamily="Verdana" FontWeight="Bold"> 
      <!-- ..... --> 
     </ribbon:RibbonButton> 
    </ribbon:RibbonGroup> 
</ribbon:RibbonTab> 
</ribbon:Ribbon> 

我想以编程方式隐藏用红色框标注的部分(标题文本和高度空间)。

enter image description here

我在寻找背后的解决方案,我可以隐藏的文本和空间(高度)的标题占据了一起一个C#代码,一些诸如如下:

// of course, this doesn't work  
HelpTab.HeaderStyle.Visibility = Visibility.Hide 
+0

我正在寻找除黑客以外的解决方案 - 例如使用余量隐藏它.. – KMC 2011-06-12 09:39:23

回答

0

你可以通过VisualTreeHelper来完成。刚去行MinHeight设置为0:

private void RibbonLoaded(object sender, RoutedEventArgs e) 
{ 
    DependencyObject groupBorder = VisualTreeHelper.GetChild(Foobar, 0); 
    Grid groupMainGrid = VisualTreeHelper.GetChild(groupBorder , 0) as Grid; 
    if (groupMainGrid != null) 
    { 
    groupMainGrid.RowDefinitions[2].MinHeight = 0; 
    } 
} 

这是假设你没有设置Header属性。行的高度默认设置为Auto。所以,如果你设置Header属性,您不妨设置Height以0:

groupMainGrid.RowDefinitions[2].Height = 0; 
0

您可以随时创建堆栈面板,而不是功能区组。

相关问题