C# 以编程方式隐藏WPF功能区标题
我正在使用VS2010的WPF Ribbon应用程序。每个RibbonGroup都有一个标题。即使我将标题留空,功能区仍会为标题保留一个空白空间。如何以编程方式隐藏标题 例如,我有以下Xaml:C# 以编程方式隐藏WPF功能区标题,c#,wpf,ribbon,C#,Wpf,Ribbon,我正在使用VS2010的WPF Ribbon应用程序。每个RibbonGroup都有一个标题。即使我将标题留空,功能区仍会为标题保留一个空白空间。如何以编程方式隐藏标题 例如,我有以下Xaml: <ribbon:RibbonTab x:Name="HelpTab" Header="Help" FontSize="10"> <ribbon:RibbonGroup x:Name="HelpGroup"
<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>
您可以通过
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;
}
}
groupMainGrid.RowDefinitions[2].Height = 0;
这是假设您没有设置标题
属性。行的高度默认设置为Auto
。因此,如果您设置标题
属性,那么您最好将高度
设置为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;
}
}
groupMainGrid.RowDefinitions[2].Height = 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;
}
}
groupMainGrid.RowDefinitions[2].Height = 0;
这是假设您没有设置标题
属性。行的高度默认设置为Auto
。因此,如果您设置标题
属性,那么您最好将高度
设置为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;
}
}
groupMainGrid.RowDefinitions[2].Height = 0;
您始终可以创建堆栈面板而不是功能区组。您始终可以创建堆栈面板而不是功能区组。我正在寻找破解以外的解决方案-例如,使用边距将其隐藏..我正在寻找破解以外的解决方案-例如,使用边距将其隐藏。。