Я предполагаю, что вы используете Microsoft Ribbon CTP с сайта OfficeUI.
В рамках лицензионного соглашения существует ряд рекомендаций по стилю, которым вы должны следовать. Одним из них является то, что вы не добавляете / удаляете содержимое ленты на основе текущего представления.
из документа:
Элементы управления, отображаемые в группе, НЕ ДОЛЖНЫ изменяться в результате выбора. Если элемент управления не активен,
управление ДОЛЖНО быть серым, а не удаленным из группы. Это обеспечивает более предсказуемое
опыт и предотвращает изменение и отвлечение пользователей от расположения элементов управления на ленте.
это, как говорится, звучит так, как будто контекстная вкладка - именно то, что вы ищете. Их можно отключить и включить, но фактическое содержимое вкладки не изменится.
Это код для создания контекстной вкладки в XAML:
<!--Context Groups-->
<r:Ribbon.ContextualTabGroups>
<!--Piece Contextual Group-->
<r:RibbonContextualTabGroup x:Name="grpPieceContext" Label="Piece Tools">
<r:RibbonTab Label="Piece Information" Name="tabPieceContextInfo">
<r:RibbonGroup Name="grpPieceDetails" Command="{StaticResource PieceInformationGrpCommand}">
<r:RibbonLabel x:Name="lblPieceTag"/>
<r:RibbonTextBox Name="txtPieceDescription" Command="{StaticResource PieceNameTextboxCommand}"
TextChanged="txtPieceDescription_TextChanged" MaxLength="32"/>
<r:RibbonLabel x:Name="lblPieceLocation"/>
</r:RibbonGroup>
</r:RibbonTab>
</r:RibbonContextualTabGroup>
</r:Ribbon.ContextualTabGroups>
Вы можете активировать и деактивировать вкладку с помощью этого кода:
if (!this.grpPieceContext.IsActive)
{
this.grpPieceContext.IsActive = true;
this.grpPieceContext.Color = Colors.Orange;
}
где оранжевый - это цвет позади контекстной группы.
Надеюсь, это поможет