회전하는 탭이 포함 된 WPF 탭 컨트롤을 만듭니다. ° 마우스를 탭 사이에 마우스를 가져 가면 "점프"하는 것처럼 보입니다. 이 문제가 발생하지 않도록하는 방법을 찾고 있습니다. 탭에는 Microsoft Office 리본 UI의 탭과 동일한 동작 (고정 된 위치에 있어야 함)이 있어야합니다. 이 문제를 해결하려면 아래 XAML
을 수정할 수 있습니까?WPF TabControl tabs "jumping"
XAML : 당신이 IsMouseOver에서 아래 라인 (국경)을 제거하면
<Window x:Class="WpfApplication2.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="350" Width="300" TextOptions.TextFormattingMode="Display" TextOptions.TextRenderingMode="ClearType" UseLayoutRounding="true">
<TabControl TabStripPlacement="Left" BorderThickness="1,0,0,0">
<TabControl.ItemContainerStyle>
<Style TargetType="{x:Type TabItem}">
<Setter Property="LayoutTransform">
<Setter.Value>
<RotateTransform Angle="270"/>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="#330033" />
<Setter Property="FontSize" Value="9pt"/>
<Setter Property="Height" Value="22" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabItem}">
<Grid>
<Border Background="White" Name="Border" BorderBrush="#A9A9A9" BorderThickness="0" CornerRadius="2,2,0,0">
<Border Padding="2" BorderBrush="Transparent">
<ContentPresenter x:Name="ContentSite"
VerticalAlignment="Center"
HorizontalAlignment="Center"
ContentSource="Header"
Margin="12,0,12,2"/>
</Border>
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Panel.ZIndex" Value="100" />
<Setter TargetName="Border" Property="BorderThickness" Value="1,1,1,0" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Panel.ZIndex" Value="100" />
<Setter TargetName="Border" Property="BorderThickness" Value="1,1,1,0" />
<Setter TargetName="Border" Property="Background" Value="White" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</TabControl.ItemContainerStyle>
<TabItem Header="Tab item 1" />
<TabItem Header="Tab item 2" />
<TabItem Header="Tab item 3" />
</TabControl>
</Window>
안녕하세요. 리차드, 고맙지 만 IsMouseOver에 테두리가 표시되어야합니다. 탭 항목 배경이 흰색 인 경우 이에 따라 질문을 업데이트했습니다. –
그렇다면 내 대답은 작동하지 않습니다. 고 밝혔다. 저는 루크에게 테두리를 투명하게 만드는 것에 대해 말한 것과 함께 그 두께를 0으로 설정하는 것보다 지원할 것입니다. – Richard