Resources/XAML/Protect.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" FontSize="16" ToolTipService.InitialShowDelay="1000" ToolTipService.ShowDuration="2147483647" ToolTipService.BetweenShowDelay="1000" ToolTipService.ShowOnDisabled="True"> <TabControl x:Name="TabControl" Padding="30,30,30,0" VerticalAlignment="Top"> <!-- Protection --> <TabItem> <TabItem.Header> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center"> <TextBlock FontFamily="{DynamicResource SymbolThemeFontFamily}" VerticalAlignment="Center" FontSize="20" Text=""/> <TextBlock Text="Protection" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="8,0,8,0" FontWeight="Normal"/> </StackPanel> </TabItem.Header> <Grid x:Name="ProtectionParentGrid"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> <!-- Execute button Row --> <RowDefinition Height="150"/> </Grid.RowDefinitions> <!-- ComboBox --> <ComboBox x:Name="ProtectionPresetComboBox" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Row="0" Width="200" Margin="0,0,20,0" ToolTip="Optionally choose a preset that automatically configures the categories and sub-categories for you" SelectedIndex="1"> <ComboBoxItem Content="Preset: Basic" /> <ComboBoxItem Content="Preset: Recommended" /> <ComboBoxItem Content="Preset: Complete" /> </ComboBox> <Grid x:Name="Grid1" Margin="-2.3" Grid.Row="1"> <Grid.RowDefinitions> <RowDefinition Height="25"/> <RowDefinition Height="4*" MinHeight="100"/> <RowDefinition Height="70"/> <RowDefinition Height="30"/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <!-- Categories and Sub-Categories text blocks --> <TextBlock x:Name="TextBlockCategories" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="1" HorizontalAlignment="Center" VerticalAlignment="bottom" Text="Categories" FontSize="18" FontWeight="SemiBold" Foreground="{DynamicResource {x:Static SystemColors.AccentColorBrushKey}}"/> <TextBlock x:Name="TextBlockSubCategories" Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="1" HorizontalAlignment="Center" VerticalAlignment="bottom" Text="Sub-Categories" FontSize="18" FontWeight="SemiBold" Foreground="{DynamicResource {x:Static SystemColors.AccentColorBrushKey}}"/> <Grid Name="InnerGrid1" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="1" Margin="10"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <CheckBox Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="1" Content="Select All" VerticalContentAlignment="Center" Margin="7,0,0,2" Padding="10,10,40,10" x:Name="SelectAllCategories"/> <!-- ListViews for Categories --> <ListView x:Name="Categories" BorderThickness="0" ToolTip="Select the hardening categories to run" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="1" VirtualizingPanel.ScrollUnit="Pixel" ScrollViewer.PanningMode="Both"> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Microsoft Security Baselines | This is the foundation of all policies and is highly recommended to be selected."> <CheckBox x:Name="MicrosoftSecurityBaselines" Content="Microsoft Security Baselines" VerticalContentAlignment="Center" Padding="10,10,40,10" /> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="MSFT365 Apps Security Baselines | You can use it even if you don't have Office apps installed."> <CheckBox x:Name="Microsoft365AppsSecurityBaselines" Content="MSFT365 Apps Security Baselines" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Microsoft Defender | Highly Recommended to apply"> <CheckBox x:Name="MicrosoftDefender" Content="Microsoft Defender" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Attack Surface Reduction Rules | Highly Recommended to apply"> <CheckBox x:Name="AttackSurfaceReductionRules" Content="Attack Surface Reduction Rules" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="BitLocker Settings | Highly Recommended to apply"> <CheckBox x:Name="BitLockerSettings" Content="BitLocker Settings" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Device Guard | Highly Recommended to apply"> <CheckBox x:Name="DeviceGuard" Content="Device Guard" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="TLS Security | Highly Recommended to apply"> <CheckBox x:Name="TLSSecurity" Content="TLS Security" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Lock Screen"> <CheckBox x:Name="LockScreen" Content="Lock Screen" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="User Account Control | Highly Recommended to apply"> <CheckBox x:Name="UserAccountControl" Content="User Account Control" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Windows Firewall Category"> <CheckBox x:Name="WindowsFirewall" Content="Windows Firewall" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Optional Windows Features Category | Highly Recommended to apply"> <CheckBox x:Name="OptionalWindowsFeatures" Content="Optional Windows Features" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Windows Networking Category"> <CheckBox x:Name="WindowsNetworking" Content="Windows Networking" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Miscellaneous Configurations | Highly Recommended to apply"> <CheckBox x:Name="MiscellaneousConfigurations" Content="Miscellaneous Configurations" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Windows Update Configurations | Highly Recommended to apply"> <CheckBox x:Name="WindowsUpdateConfigurations" Content="Windows Update Configurations" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Edge Browser Configurations"> <CheckBox x:Name="EdgeBrowserConfigurations" Content="Edge Browser Configurations" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Certificate Checking Commands"> <CheckBox x:Name="CertificateCheckingCommands" Content="Certificate Checking Commands" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Country IP Blocking"> <CheckBox x:Name="CountryIPBlocking" Content="Country IP Blocking" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Downloads Defense Measures"> <CheckBox x:Name="DownloadsDefenseMeasures" Content="Downloads Defense Measures" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Non-Admin Commands"> <CheckBox x:Name="NonAdminCommands" Content="Non-Admin Commands" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> </ListView> </Grid> <Grid x:Name="InnerGrid2" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="1" Margin="10"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <CheckBox Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="1" Content="Select All" VerticalContentAlignment="Center" Margin="6,0,0,2" x:Name="SelectAllSubCategories"/> <!-- ListViews for Sub-Categories --> <ListView x:Name="SubCategories" BorderThickness="0" ToolTip="Select sub-categories" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="1" VirtualizingPanel.ScrollUnit="Pixel" ScrollViewer.PanningMode="Both"> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="NOT Recommended to use!"> <CheckBox x:Name="SecBaselines_NoOverrides" Content="Security Baselines No Overrides" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Enables Smart App Control"> <CheckBox x:Name="MSFTDefender_SAC" Content="Smart App Control" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="NOT Recommended to use!"> <CheckBox x:Name="MSFTDefender_NoDiagData" Content="Defender: No Diagnostics Data" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="NOT Recommended to use!"> <CheckBox x:Name="MSFTDefender_NoScheduledTask" Content="Defender: No Scheduled Task" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Faster updates for Defender"> <CheckBox x:Name="MSFTDefender_BetaChannels" Content="Defender: Use Beta Update Channels" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="More robust lock screen"> <CheckBox x:Name="LockScreen_CtrlAltDel" Content="Require CTRL + Alt + Del" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="WILL PREVENT PIN RESET IF YOU FORGET YOUR PIN ON LOCK SCREEN!"> <CheckBox x:Name="LockScreen_NoLastSignedIn" Content="No Last Signed-In" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="WILL PREVENT PIN RESET IF YOU FORGET YOUR PIN ON LOCK SCREEN!"> <CheckBox x:Name="UAC_NoFastSwitching" Content="No Fast User Switching" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Only Signed programs will be able to run as Admin!"> <CheckBox x:Name="UAC_OnlyElevateSigned" Content="Only Elevate Signed" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Block NTLM completely"> <CheckBox x:Name="WindowsNetworking_BlockNTLM" Content="Block NTLM" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="If you use BattleNet client, make sure to select this item."> <CheckBox x:Name="TLSSecurity_BattleNetClient" Content="TLS for BattleNet" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Special care should be used before enabling this mode, since, in case of any failure of the virtualization modules, the system will refuse to boot."> <CheckBox x:Name="DeviceGuard_MandatoryVBS" Content="Mandatory Mode for VBS" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Recommended if you either don't connect to printers or your printers use modern secure drivers"> <CheckBox x:Name="Miscellaneous_WindowsProtectedPrint" Content="Enable Windows Protected Print" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Enables application that opt into long path support to be able to use the feature"> <CheckBox x:Name="MiscellaneousConfigurations_LongPathSupport" Content="Enable support for Long Paths" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="System cryptography: Force strong key protection for user keys stored on the computer"> <CheckBox x:Name="MiscellaneousConfigurations_StrongKeyProtection" Content="Force strong key protection" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Applies the policies that reduce the telemetry in the OS"> <CheckBox x:Name="MiscellaneousConfigurations_ReducedTelemetry" Content="Reduced Telemetry" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Blocks OFAC sanctioned countries' IPs in Firewall."> <CheckBox x:Name="CountryIPBlocking_OFAC" Content="Block OFAC Sanctions Countries" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> <ListViewItem ToolTipService.InitialShowDelay="1000" ToolTip="Recommend to use"> <CheckBox x:Name="DangerousScriptHostsBlocking" Content="Block Dangerous Script Hosts" VerticalContentAlignment="Center" Padding="10,10,40,10"/> </ListViewItem> </ListView> </Grid> <StackPanel Orientation="Horizontal" Grid.Row="2" Grid.ColumnSpan="2" HorizontalAlignment="Center"> <!-- Enable Logging --> <ToggleButton x:Name="Log" ToolTip="Enable logging to a file. Everything written in the Logs tab will be written to a file you select." Height="40" Width="170" FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10,0,0,0"> <ToggleButton.Content> <StackPanel Orientation="Horizontal"> <TextBlock FontFamily="{DynamicResource SymbolThemeFontFamily}" VerticalAlignment="Center" FontSize="20" Text=""/> <TextBlock Text="Logging" VerticalAlignment="Center" Margin="8,0,8,0"/> </StackPanel> </ToggleButton.Content> </ToggleButton> <!-- Enable EventLogging --> <ToggleButton x:Name="EventLogging" ToolTip="Enable Event logging, security events will be written to Windows event logs" Height="40" Width="200" FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="10,0,10,0"> <ToggleButton.Content> <StackPanel Orientation="Horizontal"> <TextBlock FontFamily="{DynamicResource SymbolThemeFontFamily}" VerticalAlignment="Center" FontSize="20" Text=""/> <TextBlock Text="Event Logging" VerticalAlignment="Center" Margin="8,0,8,0"/> </StackPanel> </ToggleButton.Content> </ToggleButton> <!-- Log Path --> <Button x:Name="LogPath" ToolTip="The path to save the log file to" Margin="0,0,10,0"> <StackPanel Orientation="Horizontal"> <TextBlock FontFamily="{DynamicResource SymbolThemeFontFamily}" VerticalAlignment="Center" FontSize="20" Text=""/> <TextBlock Text="Log Path" VerticalAlignment="Center" Margin="8,0,8,0"/> </StackPanel> </Button> </StackPanel> <!-- File Path TextBox --> <TextBox x:Name="txtFilePath" Grid.Row="3" Grid.ColumnSpan="2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="30,0,30,0" BorderThickness="0" ToolTip="The selected log file path where logs will be written to." MaxWidth="700" /> </Grid> <!-- Grid containing the Execute Button --> <Grid x:Name="ExecuteButtonGrid" Grid.Row="2" Height="150"> <Ellipse x:Name="EclipseForward1" 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> <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> <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> <Ellipse x:Name="EclipseBackward1" 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> <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> <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> <ToggleButton x:Name="Execute" Height="55" Width="55" HorizontalAlignment="Center" VerticalAlignment="Center" > <ToggleButton.Template> <ControlTemplate TargetType="ToggleButton"> <Border x:Name="border" Background="Transparent" CornerRadius="30"> <TextBlock FontFamily="{DynamicResource SymbolThemeFontFamily}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="24" FontWeight="UltraBold" Text=""/> </Border> <ControlTemplate.Triggers> <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> <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> <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> <ToggleButton.Triggers> <EventTrigger RoutedEvent="ToggleButton.Checked"> <EventTrigger.Actions> <BeginStoryboard x:Name="Ellipse_Activated"> <Storyboard> <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" /> <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" /> <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> <EventTrigger RoutedEvent="ToggleButton.Unchecked"> <EventTrigger.Actions> <RemoveStoryboard BeginStoryboardName="Ellipse_Activated" /> <BeginStoryboard x:Name="Ellipse_Deactivated"> <Storyboard> <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" /> <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" /> <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 Execute Button Grid--> </Grid> </TabItem> <!-- Offline Configurations --> <TabItem> <TabItem.Header> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center"> <TextBlock FontFamily="{DynamicResource SymbolThemeFontFamily}" VerticalAlignment="Center" FontSize="20" Text=""/> <TextBlock Text="Offline Configuration" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="8,0,8,0" FontWeight="Normal"/> </StackPanel> </TabItem.Header> <ScrollViewer HorizontalScrollBarVisibility="Auto"> <Grid x:Name="OfflineConfigurationsGrid" Margin="-2.3"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="60"/> <RowDefinition Height="60"/> <RowDefinition Height="60"/> <RowDefinition Height="60"/> </Grid.RowDefinitions> <TextBlock x:Name="OfflineConfigurationsNoticeTextBlock" Text="To enable offline mode, use: Protect-WindowsSecurity -GUI -Offline" HorizontalAlignment="Center" VerticalAlignment="Top" Grid.Row="0" Grid.ColumnSpan="2" Visibility="Collapsed"/> <!-- Enable Offline Mode CheckBox --> <ToggleButton Grid.Row="1" Grid.ColumnSpan="2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,20,0,0" x:Name="EnableOfflineMode" Content="Enable Offline Mode" ToolTip="Enables Offline Mode and will use the selected files instead of downloading them from the Microsoft servers" Height="40" Width="170" FontSize="16" /> <!-- Row 1 --> <StackPanel Orientation="Horizontal" Grid.Row="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Margin="30,0,30,0"> <!-- LGPO Button --> <Button x:Name="LGPOZipButton" Margin="0,0,0,0" ToolTip="Browse for the path to LGPO zip file"> <StackPanel Orientation="Horizontal"> <TextBlock FontFamily="{DynamicResource SymbolThemeFontFamily}" VerticalAlignment="Center" FontSize="20" Text=""/> <TextBlock Text="LGPO" VerticalAlignment="Center" Margin="8,0,8,0"/> </StackPanel> </Button> <!-- LGPO Path Text box --> <TextBox x:Name="LGPOZipTextBox" Height="40" Margin="20,0,0,0" ToolTip="Selected path for the LGPO zip file" MinWidth="210" MaxWidth="700" /> </StackPanel> <!-- Row 2 --> <StackPanel Orientation="Horizontal" Grid.Row="3" Grid.ColumnSpan="2" HorizontalAlignment="Center" Margin="30,0,30,0"> <!-- Microsoft Security Baselines Button --> <Button x:Name="MicrosoftSecurityBaselineZipButton" Margin="0,0,0,0" ToolTip="Browse for the path to Microsoft Security Baseline zip file"> <StackPanel Orientation="Horizontal"> <TextBlock FontFamily="{DynamicResource SymbolThemeFontFamily}" VerticalAlignment="Center" FontSize="20" Text=""/> <TextBlock Text="Microsoft Security Baseline" VerticalAlignment="Center" Margin="8,0,8,0"/> </StackPanel> </Button> <!-- Microsoft Security Baselines Text block --> <TextBox x:Name="MicrosoftSecurityBaselineZipTextBox" Height="40" Margin="20,0,0,0" MinWidth="210" MaxWidth="700" ToolTip="Selected path for the Microsoft Security Baseline zip file" VerticalContentAlignment="Center" /> </StackPanel> <!-- Row 3 --> <StackPanel Orientation="Horizontal" Grid.Row="4" Grid.ColumnSpan="2" HorizontalAlignment="Center" Margin="30,0,30,0"> <!-- M365 apps security baselines button --> <Button x:Name="Microsoft365AppsSecurityBaselineZipButton" Margin="0,0,0,0" ToolTip="Browse for the path to Microsoft 365 Apps Security Baseline zip file"> <StackPanel Orientation="Horizontal"> <TextBlock FontFamily="{DynamicResource SymbolThemeFontFamily}" VerticalAlignment="Center" FontSize="20" Text=""/> <TextBlock Text="Microsoft 365 Apps Security Baseline" VerticalAlignment="Center" Margin="8,0,8,0"/> </StackPanel> </Button> <!-- M365 apps security baselines text block --> <TextBox x:Name="Microsoft365AppsSecurityBaselineZipTextBox" Height="40" Margin="20,0,0,0" MinWidth="210" MaxWidth="700" ToolTip="Selected path for the Microsoft 365 Apps Security Baseline zip file" VerticalContentAlignment="Center" /> </StackPanel> </Grid> </ScrollViewer> </TabItem> </TabControl> </UserControl> |