mirror of
https://github.com/Raphire/Win11Debloat.git
synced 2026-02-17 07:56:24 +00:00
297 lines
17 KiB
XML
297 lines
17 KiB
XML
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
Title="Win11Debloat Application Selection"
|
|
Width="450" Height="580"
|
|
ResizeMode="NoResize"
|
|
WindowStartupLocation="CenterScreen"
|
|
WindowStyle="None"
|
|
AllowsTransparency="True"
|
|
Background="Transparent"
|
|
Foreground="{DynamicResource FgColor}">
|
|
<Window.Resources>
|
|
<!-- ScrollBar Style -->
|
|
<Style TargetType="{x:Type ScrollBar}">
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
<Setter Property="Width" Value="8"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type ScrollBar}">
|
|
<Grid>
|
|
<Track Name="PART_Track" IsDirectionReversed="true">
|
|
<Track.Thumb>
|
|
<Thumb>
|
|
<Thumb.Style>
|
|
<Style TargetType="Thumb">
|
|
<Setter Property="Background" Value="{DynamicResource ScrollBarThumbColor}"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="Thumb">
|
|
<Border Background="{TemplateBinding Background}" CornerRadius="4"/>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Style.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="Background" Value="{DynamicResource ScrollBarThumbHoverColor}"/>
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Thumb.Style>
|
|
</Thumb>
|
|
</Track.Thumb>
|
|
</Track>
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!-- CheckBox Style -->
|
|
<Style TargetType="CheckBox">
|
|
<Setter Property="Foreground" Value="{DynamicResource FgColor}"/>
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
<Setter Property="Padding" Value="4,2"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="CheckBox">
|
|
<Border Background="{TemplateBinding Background}" BorderThickness="0" CornerRadius="4" Padding="{TemplateBinding Padding}">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Border x:Name="CheckBoxBorder" Grid.Column="0" Width="18" Height="18" Background="{DynamicResource CheckBoxBgColor}" BorderBrush="{DynamicResource CheckBoxBorderColor}" BorderThickness="1" CornerRadius="4" Margin="0,0,8,0">
|
|
<TextBlock x:Name="CheckMark" Text="" FontFamily="Segoe MDL2 Assets" FontSize="12" Foreground="{DynamicResource ButtonBg}" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="Collapsed"/>
|
|
</Border>
|
|
<ContentPresenter Grid.Column="1" VerticalAlignment="Center" Margin="0,0,0,1"/>
|
|
</Grid>
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="CheckBoxBorder" Property="Background" Value="{DynamicResource CheckBoxHoverColor}"/>
|
|
</Trigger>
|
|
<Trigger Property="IsChecked" Value="True">
|
|
<Setter TargetName="CheckMark" Property="Visibility" Value="Visible"/>
|
|
<Setter TargetName="CheckBoxBorder" Property="Background" Value="{DynamicResource ButtonBg}"/>
|
|
<Setter TargetName="CheckBoxBorder" Property="BorderBrush" Value="{DynamicResource ButtonBg}"/>
|
|
<Setter TargetName="CheckMark" Property="Foreground" Value="White"/>
|
|
</Trigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="IsMouseOver" Value="True"/>
|
|
<Condition Property="IsChecked" Value="True"/>
|
|
</MultiTrigger.Conditions>
|
|
<Setter TargetName="CheckBoxBorder" Property="Background" Value="{DynamicResource ButtonHover}"/>
|
|
<Setter TargetName="CheckBoxBorder" Property="BorderBrush" Value="{DynamicResource ButtonHover}"/>
|
|
</MultiTrigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!-- CheckBox style for apps panels -->
|
|
<Style x:Key="AppsPanelCheckBoxStyle" TargetType="CheckBox" BasedOn="{StaticResource {x:Type CheckBox}}">
|
|
<Setter Property="Margin" Value="2,3,2,3"/>
|
|
</Style>
|
|
|
|
<!-- Button Style -->
|
|
<Style x:Key="Win11Button" TargetType="Button">
|
|
<Setter Property="Background" Value="{DynamicResource ButtonBg}"/>
|
|
<Setter Property="Foreground" Value="white"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource ButtonBg}"/>
|
|
<Setter Property="BorderThickness" Value="1"/>
|
|
<Setter Property="Padding" Value="0"/>
|
|
<Setter Property="FontSize" Value="14"/>
|
|
<Setter Property="Cursor" Value="Hand"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="Button">
|
|
<Border Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
CornerRadius="4"
|
|
Padding="{TemplateBinding Padding}">
|
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
|
</Border>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Style.Triggers>
|
|
<Trigger Property="IsEnabled" Value="False">
|
|
<Setter Property="Background" Value="{DynamicResource ButtonDisabled}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource ButtonDisabled}"/>
|
|
<Setter Property="Foreground" Value="{DynamicResource ButtonTextDisabled}"/>
|
|
</Trigger>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="Background" Value="{DynamicResource ButtonHover}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource ButtonHover}"/>
|
|
</Trigger>
|
|
<Trigger Property="IsPressed" Value="True">
|
|
<Setter Property="Background" Value="{DynamicResource ButtonPressed}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource ButtonPressed}"/>
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
|
|
<!-- Secondary Button Style -->
|
|
<Style x:Key="Win11ButtonSecondary" TargetType="Button">
|
|
<Setter Property="Background" Value="{DynamicResource SecondaryButtonBg}"/>
|
|
<Setter Property="Foreground" Value="{DynamicResource FgColor}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource ButtonBorderColor}"/>
|
|
<Setter Property="BorderThickness" Value="1"/>
|
|
<Setter Property="Padding" Value="0"/>
|
|
<Setter Property="FontSize" Value="14"/>
|
|
<Setter Property="Cursor" Value="Hand"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="Button">
|
|
<Border Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
CornerRadius="4"
|
|
Padding="{TemplateBinding Padding}">
|
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,1"/>
|
|
</Border>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Style.Triggers>
|
|
<Trigger Property="IsEnabled" Value="False">
|
|
<Setter Property="Background" Value="{DynamicResource SecondaryButtonDisabled}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource BorderColor}"/>
|
|
<Setter Property="Foreground" Value="{DynamicResource SecondaryButtonTextDisabled}"/>
|
|
</Trigger>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="Background" Value="{DynamicResource SecondaryButtonHover}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource ButtonBorderColor}"/>
|
|
</Trigger>
|
|
<Trigger Property="IsPressed" Value="True">
|
|
<Setter Property="Background" Value="{DynamicResource SecondaryButtonPressed}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource ButtonBorderColor}"/>
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
|
|
<!-- Title Bar Button Style -->
|
|
<Style x:Key="TitleBarButton" TargetType="Button">
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
<Setter Property="Foreground" Value="{DynamicResource FgColor}"/>
|
|
<Setter Property="BorderThickness" Value="0"/>
|
|
<Setter Property="Width" Value="46"/>
|
|
<Setter Property="Height" Value="32"/>
|
|
<Setter Property="FontFamily" Value="Segoe MDL2 Assets"/>
|
|
<Setter Property="FontSize" Value="10"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="Button">
|
|
<Border Background="{TemplateBinding Background}" BorderThickness="0" CornerRadius="0,8,0,0">
|
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
|
</Border>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<Style x:Key="CloseButton" TargetType="Button" BasedOn="{StaticResource TitleBarButton}">
|
|
<Style.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="Background" Value="{DynamicResource CloseHover}"/>
|
|
<Setter Property="Foreground" Value="White"/>
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Window.Resources>
|
|
|
|
<Border BorderBrush="{DynamicResource BorderColor}"
|
|
BorderThickness="1"
|
|
CornerRadius="8"
|
|
Background="{DynamicResource BgColor}"
|
|
Margin="25">
|
|
<Border.Effect>
|
|
<DropShadowEffect Color="Black"
|
|
Opacity="0.15"
|
|
BlurRadius="20"
|
|
ShadowDepth="0"
|
|
Direction="0"/>
|
|
</Border.Effect>
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="32"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<!-- Custom Title Bar -->
|
|
<Grid Grid.Row="0" x:Name="TitleBar">
|
|
<Border Background="{DynamicResource BgColor}" CornerRadius="8,8,0,0">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<TextBlock Grid.Column="0"
|
|
Text="Win11Debloat Application Selection"
|
|
Foreground="{DynamicResource FgColor}"
|
|
VerticalAlignment="Center"
|
|
Margin="12,0,0,0"
|
|
FontSize="12"/>
|
|
<StackPanel Grid.Column="1" Orientation="Horizontal">
|
|
<Button x:Name="CloseBtn" Content="" Style="{StaticResource CloseButton}" ToolTip="Close" IsCancel="True" AutomationProperties.Name="Close"/>
|
|
</StackPanel>
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
|
|
<!-- Main Content -->
|
|
<Grid Grid.Row="1">
|
|
<Grid Margin="12">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="Auto"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<TextBlock Grid.Row="0"
|
|
Text="Check apps that you wish to remove, uncheck apps that you wish to keep"
|
|
TextWrapping="Wrap"
|
|
Foreground="{DynamicResource FgColor}"
|
|
Margin="0,0,0,10"/>
|
|
|
|
<StackPanel Grid.Row="1" Orientation="Horizontal" Margin="0,0,0,8">
|
|
<CheckBox x:Name="CheckAllBox" Content="Check/Uncheck all" Margin="8,0,15,0" Foreground="{DynamicResource FgColor}" AutomationProperties.Name="Check or Uncheck all"/>
|
|
</StackPanel>
|
|
|
|
<Border Grid.Row="2" BorderBrush="{DynamicResource BorderColor}" CornerRadius="4" BorderThickness="1" Margin="0,0,0,10" Background="{DynamicResource CardBgColor}">
|
|
<Grid>
|
|
<ScrollViewer VerticalScrollBarVisibility="Auto">
|
|
<StackPanel x:Name="AppsPanel" Margin="5"/>
|
|
</ScrollViewer>
|
|
<Border x:Name="LoadingAppsIndicator" CornerRadius="4" Background="{DynamicResource ScrollBarThumbColor}" Opacity="0.8" Visibility="Collapsed">
|
|
<TextBlock Text="Loading apps..." FontSize="16" FontWeight="SemiBold" Foreground="{DynamicResource FgColor}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
|
</Border>
|
|
</Grid>
|
|
</Border>
|
|
|
|
<StackPanel Grid.Row="3" Orientation="Horizontal" HorizontalAlignment="Right">
|
|
<Grid Margin="0,8,10,10">
|
|
<CheckBox x:Name="OnlyInstalledBox" Content="Only show installed apps" Foreground="{DynamicResource FgColor}" AutomationProperties.Name="Only show installed apps"/>
|
|
</Grid>
|
|
<Button x:Name="ConfirmBtn" Width="80" Height="32" Margin="0,0,10,0" Content="Confirm" Style="{StaticResource Win11Button}" AutomationProperties.Name="Confirm"/>
|
|
<Button x:Name="CancelBtn" Width="80" Height="32" Content="Cancel" Style="{StaticResource Win11ButtonSecondary}" IsCancel="True" AutomationProperties.Name="Cancel"/>
|
|
</StackPanel>
|
|
</Grid>
|
|
</Grid>
|
|
|
|
<!-- Modal Overlay for MessageBoxes -->
|
|
<Rectangle x:Name="ModalOverlay"
|
|
Grid.RowSpan="2"
|
|
Fill="#80000000"
|
|
Visibility="Collapsed"
|
|
Panel.ZIndex="1000"
|
|
RadiusX="8"
|
|
RadiusY="8"
|
|
Margin="-1"/>
|
|
</Grid>
|
|
</Border>
|
|
</Window>
|