Скрытие вкладок в MaterialDesign Tabablz TabablzControl - PullRequest
0 голосов
/ 07 октября 2019

Я хотел бы связать свойство видимости TabItem со свойством bool в моей модели представления (через конвертер, true = visible false = свернуто), но свойство видимости в TabItem не скрывает вкладку. Я не хочу скрывать все вкладки, только отдельные.

Кто-нибудь знает, как этого можно достичь?

1 Ответ

0 голосов
/ 12 октября 2019

Я хотел что-то похожее. Я спросил разработчика об этом, но это невозможно с Dragablz (то есть Tabablz). Сам TabItem не используется в dragablz.

Обходным путем для этого может быть использование радиокнопок materialdesign в качестве заголовков вкладок вместо dragablz. Радиокнопки могут быть свернуты.

<StackPanel Orientation="Horizontal" Margin="4">
   <RadioButton x:Name="FirstTab" Style="{StaticResource MaterialDesignTabRadioButton}" Margin="4" Visibility="Collapsed" IsChecked="True" Content="FIRST" />
   <RadioButton Style="{StaticResource MaterialDesignTabRadioButton}" Margin="4" IsChecked="False" Content="SECOND" />
   <RadioButton Style="{StaticResource MaterialDesignTabRadioButton}" Margin="4" IsChecked="False" Content="THIRD" />
</StackPanel>

теперь вам просто нужно создать несколько сеток под ними, видимость которых связана с атрибутом IsChecked соответствующей радиокнопки. Таким образом, вы можете показать только сетку, которая привязана к выбранной в данный момент радиокнопке. Вам нужен конвертер bool2visibility, может быть, он работает по умолчанию, поставляемый с wpf (в моем примере это пользовательский).

<Grid Visibility="{Binding IsChecked, Source={x:Reference FirstTab}, Converter={StaticResource Bool2VisibilityConverter}}">
...