gpt4 book ai didi

wpf - 鼠标悬停时如何更改 TabItem 颜色?

转载 作者:行者123 更新时间:2023-12-02 04:09:54 25 4
gpt4 key购买 nike

我正在使用 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 是否可单击。提前致谢。

最佳答案

您可以添加 TabItem 样式作为 TabControl 的一部分。 Style 将根据 MouseOver 触发。

<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 时保持颜色,请将其添加到 ControlTemplate.Triggers

            <Trigger Property="IsSelected" Value="True">
<Setter TargetName="Border" Property="Background" Value="Blue" />
</Trigger>

关于wpf - 鼠标悬停时如何更改 TabItem 颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37258660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com