Wpf 鼠标悬停时如何更改TabItem颜色?
我正在使用Wpf 鼠标悬停时如何更改TabItem颜色?,wpf,mahapps.metro,Wpf,Mahapps.metro,我正在使用MahApp,我创建了以下TabControl: <TabControl TabStripPlacement="Left" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="0"> <TabItem> <TabItem.Header> <Image Source="Images/Icon.png"></Image> </TabItem.Header
MahApp
,我创建了以下TabControl
:
<TabControl TabStripPlacement="Left" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="0">
<TabItem>
<TabItem.Header>
<Image Source="Images/Icon.png"></Image>
</TabItem.Header>
<TabItem.Content>
<Grid>
<Controls:Scheduler x:Name="Scheduler"/>
</Grid>
</TabItem.Content>
</TabItem>
</TabControl>
如何处理
MouseOver
事件并更改颜色?实际上,如果我将鼠标放在TabItem上,用户就不知道TabItem是否可以单击。提前感谢。您可以在选项卡控件
中添加选项卡项
样式。样式
将根据鼠标盖
触发
<TabControl TabStripPlacement="Left" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="0">
<TabControl.Resources>
<Style TargetType="{x:Type TabItem}">
<Setter Property="Width" Value="Auto"/>
<Setter Property="Background" Value="Transparent" />
<Setter Property="Height" Value="Auto"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabItem">
<Border Name="Border" Background="Transparent">
<ContentPresenter x:Name="ContentSite"
VerticalAlignment="Center"
HorizontalAlignment="Left"
ContentSource="Header"
Margin="10,2"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True" SourceName="Border">
<Setter TargetName="Border" Property="Background" Value="Blue" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</TabControl.Resources>
<TabItem>
<TabItem.Header>
<Image Source="Images/Icon.png"></Image>
</TabItem.Header>
<TabItem.Content>
<Grid>
</Grid>
</TabItem.Content>
</TabItem>
</TabControl>
您可以添加
TabItem
样式作为TabControl
的一部分。样式
将根据鼠标盖
触发
<TabControl TabStripPlacement="Left" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="0">
<TabControl.Resources>
<Style TargetType="{x:Type TabItem}">
<Setter Property="Width" Value="Auto"/>
<Setter Property="Background" Value="Transparent" />
<Setter Property="Height" Value="Auto"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabItem">
<Border Name="Border" Background="Transparent">
<ContentPresenter x:Name="ContentSite"
VerticalAlignment="Center"
HorizontalAlignment="Left"
ContentSource="Header"
Margin="10,2"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True" SourceName="Border">
<Setter TargetName="Border" Property="Background" Value="Blue" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</TabControl.Resources>
<TabItem>
<TabItem.Header>
<Image Source="Images/Icon.png"></Image>
</TabItem.Header>
<TabItem.Content>
<Grid>
</Grid>
</TabItem.Content>
</TabItem>
</TabControl>
回答得很好。谢谢:)只是一个问题:点击tabItem时是否可以保持颜色?回答得很好。谢谢:)只是一个问题:单击tabItem时是否可以保留颜色?