WPF 탭 컨트롤에서 탭 헤더 숨기기
표시되는 탭이 하나뿐일 때 탭 헤더를 숨기는 가장 좋은 방법은 무엇입니까?
TabControl chrome은 완전히 숨기면서 Tab의 내용은 표시합니다.
상위 TabControl에 다음 항목이 하나만 있는 경우 접히는 DataTrigger와 함께 TabItem에 적용된 스타일을 사용할 수 있습니다.
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid.Resources>
<x:Array x:Key="tabData" Type="{x:Type sys:String}">
<sys:String>do</sys:String>
<sys:String>re</sys:String>
<sys:String>mi</sys:String>
</x:Array>
</Grid.Resources>
<TabControl ItemsSource="{StaticResource tabData}">
<TabControl.ItemContainerStyle>
<Style TargetType="{x:Type TabItem}">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type TabControl}}, Path=Items.Count}" Value="1">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TabControl.ItemContainerStyle>
</TabControl>
</Grid>
항목이 하나뿐인 경우 TabControl을 완전히 제거하려면 해당 논리가 더 높은 수준에 있어야 합니다.
그리고 만약 당신이 비밀번호로 해야 한다면...
foreach (var item in tabControl.Items)
(item as TabItem).Visibility = tabControl.Items.Count > 1 ? Visibility.Visible : Visibility.Collapsed;
언급URL : https://stackoverflow.com/questions/387480/hide-tab-headers-in-wpf-tabcontrol
'source' 카테고리의 다른 글
명령줄에서 숭고한 텍스트 (0) | 2023.05.10 |
---|---|
XAML 또는 C# 코드백 (0) | 2023.05.10 |
명령줄에서 Node.js 버전을 선택하시겠습니까?(REPL이 아님) (0) | 2023.05.10 |
WPF 창이 어떤 모니터에 있는지 어떻게 알 수 있습니까? (0) | 2023.05.05 |
파이썬 3에서 int()와 floor()의 차이점은 무엇입니까? (0) | 2023.05.05 |