我正在使用VS2010的WPF功能区应用程序。每个RibbonGroup都有一个标题。即使我将标题留空,功能区仍将为标题保留一个空白空间。如何以编程方式隐藏标题?
例如,我跟随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>
我想以编程方式隐藏由红色矩形标记的部分(标题文本和高度空间)。
我正在寻找一个C#代码隐藏解决方案,我可以隐藏文本和标题占用的空间(高度),如下所示:
// of course, this doesn't work
HelpTab.HeaderStyle.Visibility = Visibility.Hide
答案 0 :(得分: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;
答案 1 :(得分:0)
您始终可以创建堆栈面板而不是功能区组。