1
我正在嘗試爲Wpf中的選項卡控件實施HotTracking。我的理解是這不包括在wpf tabcontrol中,我想使用它。設置選項卡控件的HotTracking
爲了我HotTracking =當鼠標懸停未選中選項卡(選擇之間,而不是選擇一般的東西)
我用了一下我自己的知識和這個職位How to set MouseOver event/trigger for border in XAML?但該選項卡會改變顏色,我不能似乎使它工作。
這就是一切。
<Window x:Class="TestingWpF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="1024" Width="1280">
<Window.Resources>
<Style TargetType="{x:Type TabItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabItem}">
<Grid>
<Border
Name="Border"
CornerRadius="6,6,0,0" >
<ContentPresenter x:Name="ContentSite"
VerticalAlignment="Center"
HorizontalAlignment="Center"
ContentSource="Header"
Margin="12,2,12,2"/>
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="Border" Property="Background" Value="LightBlue" />
</Trigger>
<Trigger Property="IsSelected" Value="False">
<Setter TargetName="Border" Property="Background" Value="AliceBlue" />
</Trigger>
<Trigger Property=" Border.IsMouseOver" Value="True">
<Setter Property="Border.Background" Value="Green" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Grid>
<TabControl Grid.ColumnSpan="2" Grid.RowSpan="2" Height="309" HorizontalAlignment="Left" Name="tabControl1" VerticalAlignment="Top" Width="781" Padding="0">
<TabItem Header="tabItem1" >
</TabItem>
<TabItem Header="tabItem2" >
</TabItem>
</TabControl>
</Grid>
</Window>
看起來像什麼是在我原來的代碼示例。 – Paparazzi
@Blam我沒有修改答案中的代碼,我只是解釋在哪裏看。我會改變它,以避免混淆。 –
不錯,但我更喜歡像這樣設置BorderBrush: 以避免背景閃爍,同時移動鼠標 –