Resources/XAML/ResourceDictionaries/SidebarMenuRadioButton.xaml
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Style x:Key="BtnStyle" TargetType="RadioButton"> <Setter Property="HorizontalAlignment" Value="Center" /> <Setter Property="VerticalAlignment" Value="Center" /> <Setter Property="Margin" Value="0,5,0,0" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="RadioButton"> <Border x:Name="border" Height="50" Width="228" BorderThickness="0"> <!-- background of each sidebar button --> <Border.Background> <LinearGradientBrush x:Name="BorderBackground" StartPoint="0,0" EndPoint="1,0"> <GradientStop Color="#272B2F" Offset="0.0" /> <GradientStop Color="#3E434A" Offset="1.0" /> </LinearGradientBrush> </Border.Background> <Grid> <Border x:Name="Indicator" Height="35" Width="4" HorizontalAlignment="Left" VerticalAlignment="Center" Background="#f953c6" Visibility="Collapsed" CornerRadius="2" /> <ContentPresenter /> </Grid> </Border> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Visibility" TargetName="Indicator" Value="Visible" /> </Trigger> <EventTrigger RoutedEvent="Border.MouseEnter" SourceName="border"> <BeginStoryboard> <Storyboard> <!-- gradient color of the sidebar button when mouse/touch hovers over --> <ColorAnimation Storyboard.TargetName="BorderBackground" Storyboard.TargetProperty="GradientStops[0].Color" From="#272B2F" To="#3E434A" Duration="0:0:0.3" /> <ColorAnimation Storyboard.TargetName="BorderBackground" Storyboard.TargetProperty="GradientStops[1].Color" From="#3E434A" To="#272B2F" Duration="0:0:0.3" /> </Storyboard> </BeginStoryboard> </EventTrigger> <EventTrigger RoutedEvent="Border.MouseLeave" SourceName="border"> <BeginStoryboard> <Storyboard> <!-- revert gradient color of the sidebar button when mouse/touch leaves it --> <ColorAnimation Storyboard.TargetName="BorderBackground" Storyboard.TargetProperty="GradientStops[0].Color" From="#3E434A" To="#272B2F" Duration="0:0:0.3" /> <ColorAnimation Storyboard.TargetName="BorderBackground" Storyboard.TargetProperty="GradientStops[1].Color" From="#272B2F" To="#3E434A" Duration="0:0:0.3" /> </Storyboard> </BeginStoryboard> </EventTrigger> <Trigger Property="IsChecked" Value="True"> <!-- gradient color of the currently selected/active sidebar button --> <Setter Property="Background" TargetName="border"> <Setter.Value> <LinearGradientBrush StartPoint="0,0" EndPoint="1,0"> <GradientStop Color="#f953c6" Offset="0.0" /> <GradientStop Color="#272B2F" Offset="0.1" /> </LinearGradientBrush> </Setter.Value> </Setter> <Setter Property="Visibility" TargetName="Indicator" Value="Visible" /> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </ResourceDictionary> |