I'm writing a style for buttons that will change color when hovering and clicking. Yes, when I click on the Foreground button, the color changes, but as soon as I move the cursor away from the button text, this active button returns to the same color (gray). How do I make the active button glow white and reset when another button is clicked? Is it worth using C# or Xaml code to implement the solution?
Here is an example of how it should look like

Here is an implementation attempt:
<Button x:Name="razd_opt" Background="Transparent" BorderBrush="Transparent" Width="192" Height="31" VerticalAlignment="Top" HorizontalAlignment="Left"
Margin="26,22,0,0" Click="razd_opt_Click">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Margin="-62,0,0,0">
<Image Source="{StaticResource Zap}" Width="18" Height="18" Margin="0,0,8,0"/>
<TextBlock Text="Оптимизация" Foreground="#848386" FontFamily="{StaticResource Vela Sans M}" FontSize="16"/>
</StackPanel>
</Button>
<Button x:Name="crosshair" Background="Transparent" BorderBrush="Transparent" Width="192" Height="31" HorizontalAlignment="Left" VerticalAlignment="Top"
Margin="26,16,0,0">
<StackPanel Orientation="Horizontal" Margin="-95,0,0,0">
<Image Source="{StaticResource Crosshair}" Width="17" Height="17" Margin="0,0,8,0"/>
<TextBlock Text="Прицел" Style="{StaticResource style_btn_panel}" FontFamily="{StaticResource Vela Sans M}" FontSize="16" Foreground="#848386"/>
</StackPanel>
</Button>
<Style x:Key="style_btn_panel" TargetType="TextBlock" >
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation
Storyboard.TargetProperty="Foreground.Color"
To="#F5F1FF"
Duration="0:0:0.2" />
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation
Storyboard.TargetProperty="Foreground.Color"
To="#848386"
Duration="0:0:0.2" />
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
</Style.Triggers>
</Style>
private void razd_opt_Click(object sender, RoutedEventArgs e)
{
opt_txt.Foreground = Brushes.White;
}
P.S. a window will be linked to each button, maybe this can be implemented by linking to each of the windows?
