Resources/XAML/ASRRules.xaml

<UserControl 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" Style="{StaticResource Page_Style}">
   <Grid x:Name="ParentGrid">
       <Grid.ColumnDefinitions>
           <ColumnDefinition Width="*" />
           <ColumnDefinition Width="*" />
       </Grid.ColumnDefinitions>
       <Grid.RowDefinitions>
           <!-- ASR Rule selections row -->
           <RowDefinition Height="3*" />
           <!-- Execute Button Row -->
           <RowDefinition Height="*" />
       </Grid.RowDefinitions>
       <ListView x:Name="ASRRuleSet1" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="1" ItemContainerStyle="{StaticResource CustomListViewItemStyle}" BorderThickness="0" Margin="0,40,0,0">
           <ListView.Background>
               <SolidColorBrush Color="Transparent"/>
           </ListView.Background>
           <ListViewItem Margin="0,5,0,5" HorizontalAlignment="Center" VerticalAlignment="Center">
               <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
                   <Label Content="Block abuse of exploited vulnerable signed drivers" Style="{StaticResource ModernLabelStyle}" Margin="0,0,10,0"/>
                   <ComboBox x:Name="BlockAbuseOfExploitedVulnerableSignedDrivers"
                        Width="90" Margin="10,0,0,0"
                        Style="{StaticResource ModernComboBoxStyle}"
                        ItemContainerStyle="{StaticResource ModernComboBoxItemStyle}"
                        SelectedIndex="1">
                       <ComboBoxItem Content="Disable" />
                       <ComboBoxItem Content="Block" />
                       <ComboBoxItem Content="Audit" />
                       <ComboBoxItem Content="Warn" />
                   </ComboBox>
               </StackPanel>
           </ListViewItem>
           <ListViewItem Margin="0,5,0,5" HorizontalAlignment="Center" VerticalAlignment="Center">
               <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
                   <Label Content="Block Adobe Reader from creating child processes" Style="{StaticResource ModernLabelStyle}" Margin="0,0,10,0"/>
                   <ComboBox x:Name="BlockAdobeReaderFromCreatingChildProcesses"
             Width="90" Margin="10,0,0,0"
             Style="{StaticResource ModernComboBoxStyle}"
             ItemContainerStyle="{StaticResource ModernComboBoxItemStyle}"
             SelectedIndex="1">
                       <ComboBoxItem Content="Disable" />
                       <ComboBoxItem Content="Block" />
                       <ComboBoxItem Content="Audit" />
                       <ComboBoxItem Content="Warn" />
                   </ComboBox>
               </StackPanel>
           </ListViewItem>
           <ListViewItem Margin="0,5,0,5" HorizontalAlignment="Center" VerticalAlignment="Center">
               <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
                   <Label Content="Block all Office applications from creating child processes" Style="{StaticResource ModernLabelStyle}" Margin="0,0,10,0"/>
                   <ComboBox x:Name="BlockAllOfficeApplicationsFromCreatingChildProcesses"
             Width="90" Margin="10,0,0,0"
             Style="{StaticResource ModernComboBoxStyle}"
             ItemContainerStyle="{StaticResource ModernComboBoxItemStyle}"
             SelectedIndex="1">
                       <ComboBoxItem Content="Disable" />
                       <ComboBoxItem Content="Block" />
                       <ComboBoxItem Content="Audit" />
                       <ComboBoxItem Content="Warn" />
                   </ComboBox>
               </StackPanel>
           </ListViewItem>
           <ListViewItem Margin="0,5,0,5" HorizontalAlignment="Center" VerticalAlignment="Center">
               <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
                   <Label Content="Block credential stealing from the Windows local security authority subsystem" Style="{StaticResource ModernLabelStyle}" Margin="0,0,10,0"/>
                   <ComboBox x:Name="BlockCredentialStealingFromTheWindowsLocalSecurityAuthoritySubsystem"
             Width="90" Margin="10,0,0,0"
             Style="{StaticResource ModernComboBoxStyle}"
             ItemContainerStyle="{StaticResource ModernComboBoxItemStyle}"
             SelectedIndex="1">
                       <ComboBoxItem Content="Disable" />
                       <ComboBoxItem Content="Block" />
                       <ComboBoxItem Content="Audit" />
                       <ComboBoxItem Content="Warn" />
                   </ComboBox>
               </StackPanel>
           </ListViewItem>
           <ListViewItem Margin="0,5,0,5" HorizontalAlignment="Center" VerticalAlignment="Center">
               <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
                   <Label Content="Block executable content from email client and webmail" Style="{StaticResource ModernLabelStyle}" Margin="0,0,10,0"/>
                   <ComboBox x:Name="BlockExecutableContentFromEmailClientAndWebmail"
             Width="90" Margin="10,0,0,0"
             Style="{StaticResource ModernComboBoxStyle}"
             ItemContainerStyle="{StaticResource ModernComboBoxItemStyle}"
             SelectedIndex="1">
                       <ComboBoxItem Content="Disable" />
                       <ComboBoxItem Content="Block" />
                       <ComboBoxItem Content="Audit" />
                       <ComboBoxItem Content="Warn" />
                   </ComboBox>
               </StackPanel>
           </ListViewItem>
           <ListViewItem Margin="0,5,0,5" HorizontalAlignment="Center" VerticalAlignment="Center">
               <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
                   <Label Content="Block executable files from running unless they meet a prevalence, age, or trusted list criterion" Style="{StaticResource ModernLabelStyle}" Margin="0,0,10,0"/>
                   <ComboBox x:Name="BlockExecutableFilesFromRunningUnlessTheyMeetAPrevalenceAgeOrTrustedListCriterion"
             Width="90" Margin="10,0,0,0"
             Style="{StaticResource ModernComboBoxStyle}"
             ItemContainerStyle="{StaticResource ModernComboBoxItemStyle}"
             SelectedIndex="1">
                       <ComboBoxItem Content="Disable" />
                       <ComboBoxItem Content="Block" />
                       <ComboBoxItem Content="Audit" />
                       <ComboBoxItem Content="Warn" />
                   </ComboBox>
               </StackPanel>
           </ListViewItem>
           <ListViewItem Margin="0,5,0,5" HorizontalAlignment="Center" VerticalAlignment="Center">
               <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
                   <Label Content="Block execution of potentially obfuscated scripts" Style="{StaticResource ModernLabelStyle}" Margin="0,0,10,0"/>
                   <ComboBox x:Name="BlockExecutionOfPotentiallyObfuscatedScripts"
             Width="90" Margin="10,0,0,0"
             Style="{StaticResource ModernComboBoxStyle}"
             ItemContainerStyle="{StaticResource ModernComboBoxItemStyle}"
             SelectedIndex="1">
                       <ComboBoxItem Content="Disable" />
                       <ComboBoxItem Content="Block" />
                       <ComboBoxItem Content="Audit" />
                       <ComboBoxItem Content="Warn" />
                   </ComboBox>
               </StackPanel>
           </ListViewItem>
           <ListViewItem Margin="0,5,0,5" HorizontalAlignment="Center" VerticalAlignment="Center">
               <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
                   <Label Content="Block JavaScript or VBScript from launching downloaded executable content" Style="{StaticResource ModernLabelStyle}" Margin="0,0,10,0"/>
                   <ComboBox x:Name="BlockJavaScriptOrVBScriptFromLaunchingDownloadedExecutableContent"
             Width="90" Margin="10,0,0,0"
             Style="{StaticResource ModernComboBoxStyle}"
             ItemContainerStyle="{StaticResource ModernComboBoxItemStyle}"
             SelectedIndex="1">
                       <ComboBoxItem Content="Disable" />
                       <ComboBoxItem Content="Block" />
                       <ComboBoxItem Content="Audit" />
                       <ComboBoxItem Content="Warn" />
                   </ComboBox>
               </StackPanel>
           </ListViewItem>
           <ListViewItem Margin="0,5,0,5" HorizontalAlignment="Center" VerticalAlignment="Center">
               <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
                   <Label Content="Block Office applications from creating executable content" Style="{StaticResource ModernLabelStyle}" Margin="0,0,10,0"/>
                   <ComboBox x:Name="BlockOfficeApplicationsFromCreatingExecutableContent"
             Width="90" Margin="10,0,0,0"
             Style="{StaticResource ModernComboBoxStyle}"
             ItemContainerStyle="{StaticResource ModernComboBoxItemStyle}"
             SelectedIndex="1">
                       <ComboBoxItem Content="Disable" />
                       <ComboBoxItem Content="Block" />
                       <ComboBoxItem Content="Audit" />
                       <ComboBoxItem Content="Warn" />
                   </ComboBox>
               </StackPanel>
           </ListViewItem>
           <ListViewItem Margin="0,5,0,5" HorizontalAlignment="Center" VerticalAlignment="Center">
               <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
                   <Label Content="Block Office applications from injecting code into other processes" Style="{StaticResource ModernLabelStyle}" Margin="0,0,10,0"/>
                   <ComboBox x:Name="BlockOfficeApplicationsFromInjectingCodeIntoOtherProcesses"
             Width="90" Margin="10,0,0,0"
             Style="{StaticResource ModernComboBoxStyle}"
             ItemContainerStyle="{StaticResource ModernComboBoxItemStyle}"
             SelectedIndex="1">
                       <ComboBoxItem Content="Disable" />
                       <ComboBoxItem Content="Block" />
                       <ComboBoxItem Content="Audit" />
                       <ComboBoxItem Content="Warn" />
                   </ComboBox>
               </StackPanel>
           </ListViewItem>
       </ListView>
       <ListView x:Name="ASRRuleSet2" Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="1" ItemContainerStyle="{StaticResource CustomListViewItemStyle}" BorderThickness="0" Margin="0,40,0,0">
           <ListView.Background>
               <SolidColorBrush Color="Transparent"/>
           </ListView.Background>
           <ListViewItem Margin="0,5,0,5" HorizontalAlignment="Center" VerticalAlignment="Center">
               <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
                   <Label Content="Block Office communication application from creating child processes" Style="{StaticResource ModernLabelStyle}" Margin="0,0,10,0"/>
                   <ComboBox x:Name="BlockOfficeCommunicationApplicationFromCreatingChildProcesses"
                 Width="90" Margin="10,0,0,0"
                 Style="{StaticResource ModernComboBoxStyle}"
                 ItemContainerStyle="{StaticResource ModernComboBoxItemStyle}"
                 SelectedIndex="1">
                       <ComboBoxItem Content="Disable" />
                       <ComboBoxItem Content="Block" />
                       <ComboBoxItem Content="Audit" />
                       <ComboBoxItem Content="Warn" />
                   </ComboBox>
               </StackPanel>
           </ListViewItem>
           <ListViewItem Margin="0,5,0,5" HorizontalAlignment="Center" VerticalAlignment="Center">
               <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
                   <Label Content="Block persistence through WMI event subscription" Style="{StaticResource ModernLabelStyle}" Margin="0,0,10,0"/>
                   <ComboBox x:Name="BlockPersistenceThroughWMIEventSubscription"
      Width="90" Margin="10,0,0,0"
      Style="{StaticResource ModernComboBoxStyle}"
      ItemContainerStyle="{StaticResource ModernComboBoxItemStyle}"
      SelectedIndex="1">
                       <ComboBoxItem Content="Disable" />
                       <ComboBoxItem Content="Block" />
                       <ComboBoxItem Content="Audit" />
                       <ComboBoxItem Content="Warn" />
                   </ComboBox>
               </StackPanel>
           </ListViewItem>
           <ListViewItem Margin="0,5,0,5" HorizontalAlignment="Center" VerticalAlignment="Center">
               <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
                   <Label Content="Block process creations originating from PSExec and WMI commands" Style="{StaticResource ModernLabelStyle}" Margin="0,0,10,0"/>
                   <ComboBox x:Name="BlockProcessCreationsOriginatingFromPSExecAndWMICommands"
             Width="90" Margin="10,0,0,0"
             Style="{StaticResource ModernComboBoxStyle}"
             ItemContainerStyle="{StaticResource ModernComboBoxItemStyle}"
             SelectedIndex="1">
                       <ComboBoxItem Content="Disable" />
                       <ComboBoxItem Content="Block" />
                       <ComboBoxItem Content="Audit" />
                       <ComboBoxItem Content="Warn" />
                   </ComboBox>
               </StackPanel>
           </ListViewItem>
           <ListViewItem Margin="0,5,0,5" HorizontalAlignment="Center" VerticalAlignment="Center">
               <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
                   <Label Content="Block rebooting machine in Safe Mode (preview)" Style="{StaticResource ModernLabelStyle}" Margin="0,0,10,0"/>
                   <ComboBox x:Name="BlockRebootingMachineInSafeMode"
             Width="90" Margin="10,0,0,0"
             Style="{StaticResource ModernComboBoxStyle}"
             ItemContainerStyle="{StaticResource ModernComboBoxItemStyle}"
             SelectedIndex="1">
                       <ComboBoxItem Content="Disable" />
                       <ComboBoxItem Content="Block" />
                       <ComboBoxItem Content="Audit" />
                       <ComboBoxItem Content="Warn" />
                   </ComboBox>
               </StackPanel>
           </ListViewItem>
           <ListViewItem Margin="0,5,0,5" HorizontalAlignment="Center" VerticalAlignment="Center">
               <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
                   <Label Content="Block untrusted and unsigned processes that run from USB" Style="{StaticResource ModernLabelStyle}" Margin="0,0,10,0"/>
                   <ComboBox x:Name="BlockUntrustedAndUnsignedProcessesThatRunFromUSB"
             Width="90" Margin="10,0,0,0"
             Style="{StaticResource ModernComboBoxStyle}"
             ItemContainerStyle="{StaticResource ModernComboBoxItemStyle}"
             SelectedIndex="1">
                       <ComboBoxItem Content="Disable" />
                       <ComboBoxItem Content="Block" />
                       <ComboBoxItem Content="Audit" />
                       <ComboBoxItem Content="Warn" />
                   </ComboBox>
               </StackPanel>
           </ListViewItem>
           <ListViewItem Margin="0,5,0,5" HorizontalAlignment="Center" VerticalAlignment="Center">
               <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
                   <Label Content="Block use of copied or impersonated system tools (preview)" Style="{StaticResource ModernLabelStyle}" Margin="0,0,10,0"/>
                   <ComboBox x:Name="BlockUseOfCopiedOrImpersonatedSystemTools"
             Width="90" Margin="10,0,0,0"
             Style="{StaticResource ModernComboBoxStyle}"
             ItemContainerStyle="{StaticResource ModernComboBoxItemStyle}"
             SelectedIndex="1">
                       <ComboBoxItem Content="Disable" />
                       <ComboBoxItem Content="Block" />
                       <ComboBoxItem Content="Audit" />
                       <ComboBoxItem Content="Warn" />
                   </ComboBox>
               </StackPanel>
           </ListViewItem>
           <ListViewItem Margin="0,5,0,5" HorizontalAlignment="Center" VerticalAlignment="Center">
               <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
                   <Label Content="Block Webshell creation for Servers" Style="{StaticResource ModernLabelStyle}" Margin="0,0,10,0"/>
                   <ComboBox x:Name="BlockWebshellCreationForServers"
             Width="90" Margin="10,0,0,0"
             Style="{StaticResource ModernComboBoxStyle}"
             ItemContainerStyle="{StaticResource ModernComboBoxItemStyle}"
             SelectedIndex="1">
                       <ComboBoxItem Content="Disable" />
                       <ComboBoxItem Content="Block" />
                       <ComboBoxItem Content="Audit" />
                       <ComboBoxItem Content="Warn" />
                   </ComboBox>
               </StackPanel>
           </ListViewItem>
           <ListViewItem Margin="0,5,0,5" HorizontalAlignment="Center" VerticalAlignment="Center">
               <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
                   <Label Content="Block Win32 API calls from Office macros" Style="{StaticResource ModernLabelStyle}" Margin="0,0,10,0"/>
                   <ComboBox x:Name="BlockWin32APICallsFromOfficeMacros"
             Width="90" Margin="10,0,0,0"
             Style="{StaticResource ModernComboBoxStyle}"
             ItemContainerStyle="{StaticResource ModernComboBoxItemStyle}"
             SelectedIndex="1">
                       <ComboBoxItem Content="Disable" />
                       <ComboBoxItem Content="Block" />
                       <ComboBoxItem Content="Audit" />
                       <ComboBoxItem Content="Warn" />
                   </ComboBox>
               </StackPanel>
           </ListViewItem>
           <ListViewItem Margin="0,5,0,5" HorizontalAlignment="Center" VerticalAlignment="Center">
               <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
                   <Label Content="Use advanced protection against ransomware" Style="{StaticResource ModernLabelStyle}" Margin="0,0,10,0"/>
                   <ComboBox x:Name="UseAdvancedProtectionAgainstRansomware"
             Width="90" Margin="10,0,0,0"
             Style="{StaticResource ModernComboBoxStyle}"
             ItemContainerStyle="{StaticResource ModernComboBoxItemStyle}"
             SelectedIndex="1">
                       <ComboBoxItem Content="Disable" />
                       <ComboBoxItem Content="Block" />
                       <ComboBoxItem Content="Audit" />
                       <ComboBoxItem Content="Warn" />
                   </ComboBox>
               </StackPanel>
           </ListViewItem>
       </ListView>
       <!-- Grid containing the Execute Button -->
       <Grid x:Name="ExecuteButtonGrid" Height="150" Grid.Row="1" Grid.ColumnSpan="2" Margin="0,0,0,0">
           <!-- First Ellipse (Forward1) - Represents the outermost expanding ellipse when the button is clicked -->
           <!-- Initial height and Width of the Ellipse -->
           <Ellipse x:Name="EclipseForward1"
                Height="50"
                Width="50"
                HorizontalAlignment="Center"
                VerticalAlignment="Center">
               <!-- Ellipse Fill with a gradient from #ED4264 to #cbad6d -->
               <Ellipse.Fill>
                   <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                       <GradientStop Color="#ED4264" Offset="0.0" />
                       <GradientStop Color="#cbad6d" Offset="1.0" />
                   </LinearGradientBrush>
               </Ellipse.Fill>
           </Ellipse>
           <!-- Second Ellipse (Forward2) - Another expanding ellipse, but starts later than Forward1 -->
           <Ellipse x:Name="EclipseForward2"
Height="50"
Width="50"
HorizontalAlignment="Center"
VerticalAlignment="Center">
               <Ellipse.Fill>
                   <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                       <GradientStop Color="#ED4264" Offset="0.0" />
                       <GradientStop Color="#cbad6d" Offset="1.0" />
                   </LinearGradientBrush>
               </Ellipse.Fill>
           </Ellipse>
           <!-- Third Ellipse (Forward3) - Another expanding ellipse, starts even later -->
           <Ellipse x:Name="EclipseForward3"
Height="50"
Width="50"
HorizontalAlignment="Center"
VerticalAlignment="Center">
               <Ellipse.Fill>
                   <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                       <GradientStop Color="#ED4264" Offset="0.0" />
                       <GradientStop Color="#cbad6d" Offset="1.0" />
                   </LinearGradientBrush>
               </Ellipse.Fill>
           </Ellipse>
           <!-- First Ellipse (Backward1) - Represents the outermost contracting ellipse when the button is unchecked -->
           <Ellipse x:Name="EclipseBackward1"
Height="50"
Width="50"
HorizontalAlignment="Center"
VerticalAlignment="Center">
               <!-- Ellipse Fill with a gradient from #ef32d9 to #89fffd -->
               <Ellipse.Fill>
                   <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                       <GradientStop Color="#ef32d9" Offset="0.0" />
                       <GradientStop Color="#89fffd" Offset="1.0" />
                   </LinearGradientBrush>
               </Ellipse.Fill>
           </Ellipse>
           <!-- Second Ellipse (Backward2) - Another contracting ellipse, starts later than Backward1 -->
           <Ellipse x:Name="EclipseBackward2"
Height="50"
Width="50"
HorizontalAlignment="Center"
VerticalAlignment="Center">
               <Ellipse.Fill>
                   <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                       <GradientStop Color="#ef32d9" Offset="0.0" />
                       <GradientStop Color="#89fffd" Offset="1.0" />
                   </LinearGradientBrush>
               </Ellipse.Fill>
           </Ellipse>
           <!-- Third Ellipse (Backward3) - Another contracting ellipse, starts even later -->
           <Ellipse x:Name="EclipseBackward3"
Height="50"
Width="50"
HorizontalAlignment="Center"
VerticalAlignment="Center">
               <Ellipse.Fill>
                   <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                       <GradientStop Color="#ef32d9" Offset="0.0" />
                       <GradientStop Color="#89fffd" Offset="1.0" />
                   </LinearGradientBrush>
               </Ellipse.Fill>
           </Ellipse>
           <!-- Refresh Toggle Button - The main button in the center -->
           <ToggleButton x:Name="ExecuteButton"
     Height="55"
     Width="55"
     HorizontalAlignment="Center"
     VerticalAlignment="Center" >
               <ToggleButton.Template>
                   <ControlTemplate TargetType="ToggleButton">
                       <!-- Border around the button with rounded corners -->
                       <Border x:Name="border"
           Background="Transparent"
           CornerRadius="30">
                           <Grid x:Name="RefreshButtonIconImageGrid">
                               <!-- Button icon image centered inside the button -->
                               <Image x:Name="RefreshIconImage" Source="icon.png"
                  Stretch="None" HorizontalAlignment="Center" VerticalAlignment="Center" />
                           </Grid>
                       </Border>
                       <!-- Triggers for visual states (hover, checked) -->
                       <ControlTemplate.Triggers>
                           <!-- Mouse hover trigger -->
                           <Trigger Property="IsMouseOver" Value="True">
                               <Setter Property="Background" TargetName="border">
                                   <Setter.Value>
                                       <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                                           <GradientStop Color="#ED4264" Offset="0.0" />
                                           <GradientStop Color="#cbad6d" Offset="1.0" />
                                       </LinearGradientBrush>
                                   </Setter.Value>
                               </Setter>
                           </Trigger>
                           <!-- Button checked trigger -->
                           <Trigger Property="IsChecked" Value="True">
                               <Setter Property="Background" TargetName="border">
                                   <Setter.Value>
                                       <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                                           <GradientStop Color="#ED4264" Offset="0.0" />
                                           <GradientStop Color="#cbad6d" Offset="1.0" />
                                       </LinearGradientBrush>
                                   </Setter.Value>
                               </Setter>
                           </Trigger>
                           <!-- MultiTrigger: Hovering while the button is unchecked -->
                           <MultiTrigger>
                               <MultiTrigger.Conditions>
                                   <Condition Property="IsMouseOver" Value="True" />
                                   <Condition Property="IsChecked" Value="False" />
                               </MultiTrigger.Conditions>
                               <Setter Property="Background" TargetName="border">
                                   <Setter.Value>
                                       <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                                           <GradientStop Color="#ef32d9" Offset="0.0" />
                                           <GradientStop Color="#89fffd" Offset="1.0" />
                                       </LinearGradientBrush>
                                   </Setter.Value>
                               </Setter>
                           </MultiTrigger>
                       </ControlTemplate.Triggers>
                   </ControlTemplate>
               </ToggleButton.Template>
               <!-- Triggers for button actions (Checked, Unchecked) -->
               <ToggleButton.Triggers>
                   <!-- When the button is checked (clicked) -->
                   <EventTrigger RoutedEvent="ToggleButton.Checked">
                       <EventTrigger.Actions>
                           <!-- Start the forward expanding animations -->
                           <BeginStoryboard x:Name="Ellipse_Activated">
                               <Storyboard>
                                   <!-- Forward1 Animation (Expanding and fading out) -->
                                   <DoubleAnimation BeginTime="00:00:00"
                                Duration="00:00:01.5"
                                From="50"
                                To="150"
                                Storyboard.TargetProperty="(Ellipse.Width)"
                                Storyboard.TargetName="EclipseForward1"
                                RepeatBehavior="Forever" />
                                   <DoubleAnimation BeginTime="00:00:00"
                                Duration="00:00:01.5"
                                From="50"
                                To="150"
                                Storyboard.TargetProperty="(Ellipse.Height)"
                                Storyboard.TargetName="EclipseForward1"
                                RepeatBehavior="Forever" />
                                   <DoubleAnimation Storyboard.TargetProperty="Opacity"
                                Storyboard.TargetName="EclipseForward1"
                                From="1.0"
                                To="0.0"
                                BeginTime="00:00:00"
                                Duration="00:00:01.5"
                                RepeatBehavior="Forever" />
                                   <!-- Forward2 Animation (Starts 1 second later) -->
                                   <DoubleAnimation BeginTime="00:00:00.5"
                                Duration="00:00:01.5"
                                From="50"
                                To="150"
                                Storyboard.TargetProperty="(Ellipse.Width)"
                                Storyboard.TargetName="EclipseForward2"
                                RepeatBehavior="Forever" />
                                   <DoubleAnimation BeginTime="00:00:00.5"
                                Duration="00:00:01.5"
                                From="50"
                                To="150"
                                Storyboard.TargetProperty="(Ellipse.Height)"
                                Storyboard.TargetName="EclipseForward2"
                                RepeatBehavior="Forever" />
                                   <DoubleAnimation Storyboard.TargetProperty="Opacity"
                                Storyboard.TargetName="EclipseForward2"
                                From="1.0"
                                To="0.0"
                                BeginTime="00:00:00.5"
                                Duration="00:00:01.5"
                                RepeatBehavior="Forever" />
                                   <!-- Forward3 Animation (Starts 2 seconds later) -->
                                   <DoubleAnimation BeginTime="00:00:01"
                                Duration="00:00:01.5"
                                From="50"
                                To="150"
                                Storyboard.TargetProperty="(Ellipse.Width)"
                                Storyboard.TargetName="EclipseForward3"
                                RepeatBehavior="Forever" />
                                   <DoubleAnimation BeginTime="00:00:01"
                                Duration="00:00:01.5"
                                From="50"
                                To="150"
                                Storyboard.TargetProperty="(Ellipse.Height)"
                                Storyboard.TargetName="EclipseForward3"
                                RepeatBehavior="Forever" />
                                   <DoubleAnimation Storyboard.TargetProperty="Opacity"
                                Storyboard.TargetName="EclipseForward3"
                                From="1.0"
                                To="0.0"
                                BeginTime="00:00:01"
                                Duration="00:00:01.5"
                                RepeatBehavior="Forever" />
                               </Storyboard>
                           </BeginStoryboard>
                       </EventTrigger.Actions>
                   </EventTrigger>
                   <!-- When the button is unchecked -->
                   <EventTrigger RoutedEvent="ToggleButton.Unchecked">
                       <EventTrigger.Actions>
                           <!-- Stop the forward animation -->
                           <RemoveStoryboard BeginStoryboardName="Ellipse_Activated" />
                           <!-- Start the backward contracting animations -->
                           <BeginStoryboard x:Name="Ellipse_Deactivated">
                               <Storyboard>
                                   <!-- Backward1 Animation (Contracting and fading in) -->
                                   <DoubleAnimation BeginTime="00:00:00"
                                Duration="00:00:01.5"
                                From="150"
                                To="50"
                                Storyboard.TargetProperty="(Ellipse.Width)"
                                Storyboard.TargetName="EclipseBackward1" />
                                   <DoubleAnimation BeginTime="00:00:00"
                                Duration="00:00:01.5"
                                From="150"
                                To="50"
                                Storyboard.TargetProperty="(Ellipse.Height)"
                                Storyboard.TargetName="EclipseBackward1" />
                                   <DoubleAnimation Storyboard.TargetProperty="Opacity"
                                Storyboard.TargetName="EclipseBackward1"
                                From="0.0"
                                To="1.0"
                                BeginTime="00:00:00"
                                Duration="00:00:01.5" />
                                   <!-- Backward2 Animation (Starts 1 second later) -->
                                   <DoubleAnimation BeginTime="00:00:00"
                                Duration="00:00:01"
                                From="125"
                                To="50"
                                Storyboard.TargetProperty="(Ellipse.Width)"
                                Storyboard.TargetName="EclipseBackward2" />
                                   <DoubleAnimation BeginTime="00:00:00"
                                Duration="00:00:01"
                                From="125"
                                To="50"
                                Storyboard.TargetProperty="(Ellipse.Height)"
                                Storyboard.TargetName="EclipseBackward2" />
                                   <DoubleAnimation Storyboard.TargetProperty="Opacity"
                                Storyboard.TargetName="EclipseBackward2"
                                From="0.0"
                                To="1.0"
                                BeginTime="00:00:00"
                                Duration="00:00:01" />
                                   <!-- Backward3 Animation (Starts 2 seconds later) -->
                                   <DoubleAnimation BeginTime="00:00:00"
                                Duration="00:00:00.5"
                                From="100"
                                To="50"
                                Storyboard.TargetProperty="(Ellipse.Width)"
                                Storyboard.TargetName="EclipseBackward3" />
                                   <DoubleAnimation BeginTime="00:00:00"
                                Duration="00:00:00.5"
                                From="100"
                                To="50"
                                Storyboard.TargetProperty="(Ellipse.Height)"
                                Storyboard.TargetName="EclipseBackward3" />
                                   <DoubleAnimation Storyboard.TargetProperty="Opacity"
                                Storyboard.TargetName="EclipseBackward3"
                                From="0.0"
                                To="1.0"
                                BeginTime="00:00:00"
                                Duration="00:00:00.5" />
                               </Storyboard>
                           </BeginStoryboard>
                       </EventTrigger.Actions>
                   </EventTrigger>
               </ToggleButton.Triggers>
           </ToggleButton>
       </Grid>
       <!--End of Refresh Button Grid-->
   </Grid>
</UserControl>