Em thử dùng multytriggers cho cả 2 đối tượng là button và tabitem như sau:
Button:
<Window x:Class="WpfApp2.Window2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp2"
mc:Ignorable="d"
Title="Window2" Height="300" Width="300">
<StackPanel Margin="0,40,0,0">
<Button Content="Click Me">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="border" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}">
<ContentPresenter x:Name="content" ContentSource="Content"></ContentPresenter>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Foreground" Value="SpringGreen"/>
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True"/>
<Condition Property="IsPressed" Value="True"/>
</MultiTrigger.Conditions>
<Setter Property="Foreground" Value="Blue"/>
</MultiTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Button.Style>
</Button>
</StackPanel>
</Window>
Và TabItem:
<Window x:Class="Miraina.SettingWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Miraina"
mc:Ignorable="d" FontFamily="Segoe UI" Foreground="#FF363636" WindowStartupLocation="CenterScreen" ResizeMode="CanMinimize"
Title="Cài đặt" Height="600" Width="900" Background="#FF343434">
<TabControl TabStripPlacement="Left">
<TabControl.Resources>
<Style TargetType="TabItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabItem">
<Border Name="border" Margin="0,0,-1,0" Padding="20,5" Background="#fff" BorderThickness="3,0,0,1" BorderBrush="#FF363636">
<ContentPresenter x:Name="content" VerticalAlignment="Center" HorizontalAlignment="Left" ContentSource="Header"></ContentPresenter>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="border" Property="Background" Value="#FF727272"></Setter>
</Trigger>
<Trigger Property="IsSelected" Value="False">
<Setter TargetName="border" Property="Background" Value="#FF474747"></Setter>
</Trigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True"></Condition>
<Condition Property="IsSelected" Value="False"></Condition>
</MultiDataTrigger.Conditions>
<Setter TargetName="border" Property="Background" Value="#FF575757"></Setter>
</MultiDataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</TabControl.Resources>
<TabItem IsSelected="True">
<TabItem.Header>
<TextBlock FontSize="16" Foreground="White"><Span FontFamily="Material Icons" FontSize="24">settings</Span><TextBlock Margin="5,-6,0,0">Chung</TextBlock></TextBlock>
</TabItem.Header>
<ScrollViewer VerticalScrollBarVisibility="Auto">
<StackPanel Margin="20,30">
<TextBlock>ghfuhufgsdvfvbdy</TextBlock>
</StackPanel>
</ScrollViewer>
</TabItem>
<TabItem>
<TabItem.Header>
<TextBlock FontSize="16" Foreground="White"><Span FontFamily="Material Icons" FontSize="24">person</Span><TextBlock Margin="5,-6,0,0">Cá nhân</TextBlock></TextBlock>
</TabItem.Header>
<StackPanel>
</StackPanel>
</TabItem>
<TabItem>
<TabItem.Header>
<TextBlock FontSize="16" Foreground="White"><Span FontFamily="Material Icons" FontSize="24">web</Span><TextBlock Margin="5,-6,0,0">Hệ thống</TextBlock></TextBlock>
</TabItem.Header>
<ScrollViewer VerticalScrollBarVisibility="Auto">
<StackPanel>
<TextBlock Padding="30,40" FontSize="16" Foreground="Gray">Xin lỗi, chúng tôi vẫn đang phát triển chức năng này :))</TextBlock>
</StackPanel>
</ScrollViewer>
</TabItem>
</TabControl>
</Window>
Tại sao về cách thức 2 cái gần giống nhau mà cái thì chạy được (Button) cái thì không (TabItem) ạ? Mấy bác giúp em tìm bug với, em mò mãi không ra!