mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2024-11-14 22:55:52 -06:00
6b73f71876
* Update Documentation for 'Get-TabXaml' Function * Add More checks for Passed Parameters for 'Get-TabXaml' Function & A One Line change * Make 'Get-TabXaml' Function do Proper Indentation to the Generated XML String & Add more Theming Options * Re-formatting for a few lines in 'Get-TabXaml' Function * Improve UI a bit * Fix Buttons for Config Tab * Add optional 'ButtonWidth' Field to Config Json Files that use 'Button' Type * Simple Code Formatting in 'inputXML.xaml' File * Make naming More Clear to the Developers Rename the name of an element from 'CheckboxFilterClear' to 'SearchBarClearButton' and renamed style from 'ClearButtonStyle' to 'SearchBarClearButtonStyle' * Rename 'FontFamilyHeading' to 'HeaderFontFamily' to match conventions & Make new Theming Property called 'SearchBarClearButtonFontSize' * Remove Un-necessary 'ToString' Convertion in 'Get-TabXaml' Function * Make naming More Clear to the Developers again Rename the name of an element from 'CheckboxFilter' to 'SearchBar'.. although after some realization.. the naming might make sense at first, because it filters only the checkboxes.. but CheckBoxFilter is less "Intutive" when saying it compared to "SearchBar".. _This's my own opinion, and it can reverted easily with git if needed._ * Remove Un-necessary Attributes in 'Get-TabXaml' Private Function * Improve UI a bit * Improve UI a bit * Re-order some tweaks & Update their Content Fields to be more descriptive * Remove the changing 'Off' & 'On' TextBlock next to Toggle Button/Checkbox Removed it as it only takes up space in the right side of the Toggle Button/Checkbox, as well as making it difficult to correctly align it when change from/to 'On' & 'Off' Text, * Some changes to the Generated Toggle Button/Checkbox in 'Get-TabXaml' Private Function Increase the Side Margins of Toggle Button/Checkbox, as well as Change its side to be on the Left hand-side of the Label, rather then the Right hand-side.
995 lines
62 KiB
XML
995 lines
62 KiB
XML
<Window x:Class="WinUtility.MainWindow"
|
|
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"
|
|
xmlns:local="clr-namespace:WinUtility"
|
|
mc:Ignorable="d"
|
|
Background="{MainBackgroundColor}"
|
|
WindowStartupLocation="CenterScreen"
|
|
UseLayoutRounding="True"
|
|
WindowStyle="None"
|
|
Title="Chris Titus Tech's Windows Utility" Height="800" Width="1280">
|
|
<WindowChrome.WindowChrome>
|
|
<WindowChrome CaptionHeight="0" CornerRadius="10"/>
|
|
</WindowChrome.WindowChrome>
|
|
<Window.Resources>
|
|
<!--Scrollbar Thumbs-->
|
|
<Style x:Key="ScrollThumbs" TargetType="{x:Type Thumb}">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type Thumb}">
|
|
<Grid x:Name="Grid">
|
|
<Rectangle HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="Auto" Fill="Transparent" />
|
|
<Border x:Name="Rectangle1" CornerRadius="5" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="Auto" Background="{TemplateBinding Background}" />
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="Tag" Value="Horizontal">
|
|
<Setter TargetName="Rectangle1" Property="Width" Value="Auto" />
|
|
<Setter TargetName="Rectangle1" Property="Height" Value="7" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style TargetType="TextBlock" x:Key="HoverTextBlockStyle">
|
|
<Setter Property="Foreground" Value="{LinkForegroundColor}" />
|
|
<Setter Property="TextDecorations" Value="Underline" />
|
|
<Style.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="Foreground" Value="{LinkHoverForegroundColor}" />
|
|
<Setter Property="TextDecorations" Value="Underline" />
|
|
<Setter Property="Cursor" Value="Hand" />
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
|
|
<Style TargetType="Button" x:Key="HoverButtonStyle">
|
|
<Setter Property="Foreground" Value="{MainForegroundColor}" />
|
|
<Setter Property="FontWeight" Value="Normal" />
|
|
<Setter Property="FontSize" Value="{ButtonFontSize}" />
|
|
<Setter Property="TextElement.FontFamily" Value="{ButtonFontFamily}"/>
|
|
<Setter Property="Background" Value="{MainBackgroundColor}" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="Button">
|
|
<Border Background="{TemplateBinding Background}">
|
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="FontWeight" Value="Bold" />
|
|
<Setter Property="Foreground" Value="{MainForegroundColor}" />
|
|
<Setter Property="Cursor" Value="Hand" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!--ScrollBars-->
|
|
<Style x:Key="{x:Type ScrollBar}" TargetType="{x:Type ScrollBar}">
|
|
<Setter Property="Stylus.IsFlicksEnabled" Value="false" />
|
|
<Setter Property="Foreground" Value="{MainForegroundColor}" />
|
|
<Setter Property="Background" Value="{MainBackgroundColor}" />
|
|
<Setter Property="Width" Value="6" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type ScrollBar}">
|
|
<Grid x:Name="GridRoot" Width="7" Background="{TemplateBinding Background}" >
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="0.00001*" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<Track x:Name="PART_Track" Grid.Row="0" IsDirectionReversed="true" Focusable="false">
|
|
<Track.Thumb>
|
|
<Thumb x:Name="Thumb" Background="{TemplateBinding Foreground}" Style="{DynamicResource ScrollThumbs}" />
|
|
</Track.Thumb>
|
|
<Track.IncreaseRepeatButton>
|
|
<RepeatButton x:Name="PageUp" Command="ScrollBar.PageDownCommand" Opacity="0" Focusable="false" />
|
|
</Track.IncreaseRepeatButton>
|
|
<Track.DecreaseRepeatButton>
|
|
<RepeatButton x:Name="PageDown" Command="ScrollBar.PageUpCommand" Opacity="0" Focusable="false" />
|
|
</Track.DecreaseRepeatButton>
|
|
</Track>
|
|
</Grid>
|
|
|
|
<ControlTemplate.Triggers>
|
|
<Trigger SourceName="Thumb" Property="IsMouseOver" Value="true">
|
|
<Setter Value="{ButtonBackgroundMouseoverColor}" TargetName="Thumb" Property="Background" />
|
|
</Trigger>
|
|
<Trigger SourceName="Thumb" Property="IsDragging" Value="true">
|
|
<Setter Value="{ButtonBackgroundSelectedColor}" TargetName="Thumb" Property="Background" />
|
|
</Trigger>
|
|
|
|
<Trigger Property="IsEnabled" Value="false">
|
|
<Setter TargetName="Thumb" Property="Visibility" Value="Collapsed" />
|
|
</Trigger>
|
|
<Trigger Property="Orientation" Value="Horizontal">
|
|
<Setter TargetName="GridRoot" Property="LayoutTransform">
|
|
<Setter.Value>
|
|
<RotateTransform Angle="-90" />
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter TargetName="PART_Track" Property="LayoutTransform">
|
|
<Setter.Value>
|
|
<RotateTransform Angle="-90" />
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="Width" Value="Auto" />
|
|
<Setter Property="Height" Value="8" />
|
|
<Setter TargetName="Thumb" Property="Tag" Value="Horizontal" />
|
|
<Setter TargetName="PageDown" Property="Command" Value="ScrollBar.PageLeftCommand" />
|
|
<Setter TargetName="PageUp" Property="Command" Value="ScrollBar.PageRightCommand" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<Style TargetType="ComboBox">
|
|
<Setter Property="Foreground" Value="{ComboBoxForegroundColor}" />
|
|
<Setter Property="Background" Value="{ComboBoxBackgroundColor}" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="ComboBox">
|
|
<Grid>
|
|
<ToggleButton x:Name="ToggleButton"
|
|
Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding Background}"
|
|
BorderThickness="0"
|
|
IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ClickMode="Press">
|
|
<TextBlock Text="{TemplateBinding SelectionBoxItem}"
|
|
Foreground="{TemplateBinding Foreground}"
|
|
Background="Transparent"
|
|
HorizontalAlignment="Center" VerticalAlignment="Center" Margin="2"
|
|
/>
|
|
</ToggleButton>
|
|
<Popup x:Name="Popup"
|
|
IsOpen="{TemplateBinding IsDropDownOpen}"
|
|
Placement="Bottom"
|
|
Focusable="False"
|
|
AllowsTransparency="True"
|
|
PopupAnimation="Slide">
|
|
<Border x:Name="DropDownBorder"
|
|
Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding Foreground}"
|
|
BorderThickness="1"
|
|
CornerRadius="4">
|
|
<ScrollViewer>
|
|
<ItemsPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Margin="2"/>
|
|
</ScrollViewer>
|
|
</Border>
|
|
</Popup>
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<Style TargetType="Label">
|
|
<Setter Property="Foreground" Value="{LabelboxForegroundColor}"/>
|
|
<Setter Property="Background" Value="{LabelBackgroundColor}"/>
|
|
</Style>
|
|
|
|
<!-- TextBlock template -->
|
|
<Style TargetType="TextBlock">
|
|
<Setter Property="FontSize" Value="{FontSize}"/>
|
|
<Setter Property="Foreground" Value="{LabelboxForegroundColor}"/>
|
|
<Setter Property="Background" Value="{LabelBackgroundColor}"/>
|
|
</Style>
|
|
<!-- Toggle button template x:Key="TabToggleButton" -->
|
|
<Style TargetType="{x:Type ToggleButton}">
|
|
<Setter Property="Margin" Value="{ButtonMargin}"/>
|
|
<Setter Property="Content" Value=""/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="ToggleButton">
|
|
<Grid>
|
|
<Border x:Name="ButtonGlow"
|
|
Background="{TemplateBinding Background}"
|
|
BorderBrush="{ButtonForegroundColor}"
|
|
BorderThickness="{ButtonBorderThickness}"
|
|
CornerRadius="{ButtonCornerRadius}">
|
|
<Grid>
|
|
<Border x:Name="BackgroundBorder"
|
|
Background="{TemplateBinding Background}"
|
|
BorderBrush="{ButtonBackgroundColor}"
|
|
BorderThickness="{ButtonBorderThickness}"
|
|
CornerRadius="{ButtonCornerRadius}">
|
|
<ContentPresenter
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
Margin="10,2,10,2"/>
|
|
</Border>
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="BackgroundBorder" Property="Background" Value="{ButtonBackgroundMouseoverColor}"/>
|
|
<Setter Property="Effect">
|
|
<Setter.Value>
|
|
<DropShadowEffect Opacity="1" ShadowDepth="5" Color="Gold" Direction="-100" BlurRadius="45"/>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="Panel.ZIndex" Value="2000"/>
|
|
</Trigger>
|
|
<Trigger Property="IsChecked" Value="True">
|
|
<Setter Property="BorderBrush" Value="Pink"/>
|
|
<Setter Property="BorderThickness" Value="2"/>
|
|
<Setter TargetName="BackgroundBorder" Property="Background" Value="{ButtonBackgroundSelectedColor}"/>
|
|
<Setter Property="Effect">
|
|
<Setter.Value>
|
|
<DropShadowEffect Opacity="1" ShadowDepth="2" Color="Gold" Direction="-111" BlurRadius="25"/>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Trigger>
|
|
<Trigger Property="IsChecked" Value="False">
|
|
<Setter Property="BorderBrush" Value="Transparent"/>
|
|
<Setter Property="BorderThickness" Value="{ButtonBorderThickness}"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<!-- Button Template -->
|
|
<Style TargetType="Button">
|
|
<Setter Property="Margin" Value="{ButtonMargin}"/>
|
|
<Setter Property="Foreground" Value="{ButtonForegroundColor}"/>
|
|
<Setter Property="Background" Value="{ButtonBackgroundColor}"/>
|
|
<Setter Property="Height" Value="{ButtonHeight}"/>
|
|
<Setter Property="Width" Value="{ButtonWidth}"/>
|
|
<Setter Property="FontSize" Value="{ButtonFontSize}"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="Button">
|
|
<Grid>
|
|
<Border x:Name="BackgroundBorder"
|
|
Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{ButtonBorderThickness}"
|
|
CornerRadius="{ButtonCornerRadius}">
|
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Margin="10,2,10,2"/>
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsPressed" Value="True">
|
|
<Setter TargetName="BackgroundBorder" Property="Background" Value="{ButtonBackgroundPressedColor}"/>
|
|
</Trigger>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="BackgroundBorder" Property="Background" Value="{ButtonBackgroundMouseoverColor}"/>
|
|
</Trigger>
|
|
<Trigger Property="IsEnabled" Value="False">
|
|
<Setter TargetName="BackgroundBorder" Property="Background" Value="{ButtonBackgroundSelectedColor}"/>
|
|
<Setter Property="Foreground" Value="DimGray"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<Style x:Key="SearchBarClearButtonStyle" TargetType="Button">
|
|
<Setter Property="FontFamily" Value="Arial"/>
|
|
<Setter Property="FontSize" Value="{SearchBarClearButtonFontSize}"/>
|
|
<Setter Property="Content" Value="X"/>
|
|
<Setter Property="Height" Value="{SearchBarClearButtonFontSize}"/>
|
|
<Setter Property="Width" Value="{SearchBarClearButtonFontSize}"/>
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
<Setter Property="Foreground" Value="{MainForegroundColor}"/>
|
|
<Setter Property="Padding" Value="0"/>
|
|
<Setter Property="BorderBrush" Value="Transparent"/>
|
|
<Setter Property="BorderThickness" Value="0"/>
|
|
<Setter Property="Cursor" Value="Hand"/>
|
|
<Style.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="Foreground" Value="Red"/>
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
<Setter Property="BorderThickness" Value="10"/>
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
<!-- Checkbox template -->
|
|
<Style TargetType="CheckBox">
|
|
<Setter Property="Foreground" Value="{MainForegroundColor}"/>
|
|
<Setter Property="Background" Value="{MainBackgroundColor}"/>
|
|
<Setter Property="FontSize" Value="{FontSize}" />
|
|
<Setter Property="TextElement.FontFamily" Value="{FontFamily}"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="CheckBox">
|
|
<Grid Background="{TemplateBinding Background}" Margin="{CheckBoxMargin}">
|
|
<BulletDecorator Background="Transparent">
|
|
<BulletDecorator.Bullet>
|
|
<Grid Width="{CheckBoxBulletDecoratorFontSize}" Height="{CheckBoxBulletDecoratorFontSize}">
|
|
<Border x:Name="Border"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
Background="{ButtonBackgroundColor}"
|
|
BorderThickness="1"
|
|
Width="{Binding Path={CheckBoxBulletDecoratorFontSize}-2}"
|
|
Height="{Binding Path={CheckBoxBulletDecoratorFontSize}-2}"
|
|
Margin="2"
|
|
SnapsToDevicePixels="True"/>
|
|
<Path x:Name="CheckMark"
|
|
Stroke="{TemplateBinding Foreground}"
|
|
StrokeThickness="2"
|
|
Data="M 0 5 L 5 10 L 12 0"
|
|
Visibility="Collapsed"/>
|
|
</Grid>
|
|
</BulletDecorator.Bullet>
|
|
<ContentPresenter Margin="4,0,0,0"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Center"
|
|
RecognizesAccessKey="True"/>
|
|
</BulletDecorator>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsChecked" Value="True">
|
|
<Setter TargetName="CheckMark" Property="Visibility" Value="Visible"/>
|
|
</Trigger>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<!--Setter TargetName="Border" Property="Background" Value="{ButtonBackgroundPressedColor}"/-->
|
|
<Setter Property="Foreground" Value="{ButtonBackgroundPressedColor}"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<Style x:Key="ToggleSwitchStyle" TargetType="CheckBox">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="CheckBox">
|
|
<StackPanel>
|
|
<Grid>
|
|
<Border Width="45"
|
|
Height="20"
|
|
Background="#555555"
|
|
CornerRadius="10"
|
|
Margin="5,0"
|
|
/>
|
|
<Border Name="WPFToggleSwitchButton"
|
|
Width="25"
|
|
Height="25"
|
|
Background="Black"
|
|
CornerRadius="12.5"
|
|
HorizontalAlignment="Left"
|
|
/>
|
|
<ContentPresenter Name="WPFToggleSwitchContent"
|
|
Margin="10,0,0,0"
|
|
Content="{TemplateBinding Content}"
|
|
VerticalAlignment="Center"
|
|
/>
|
|
</Grid>
|
|
</StackPanel>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsChecked" Value="false">
|
|
<Trigger.ExitActions>
|
|
<RemoveStoryboard BeginStoryboardName="WPFToggleSwitchLeft" />
|
|
<BeginStoryboard x:Name="WPFToggleSwitchRight">
|
|
<Storyboard>
|
|
<ThicknessAnimation Storyboard.TargetProperty="Margin"
|
|
Storyboard.TargetName="WPFToggleSwitchButton"
|
|
Duration="0:0:0:0"
|
|
From="0,0,0,0"
|
|
To="28,0,0,0">
|
|
</ThicknessAnimation>
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</Trigger.ExitActions>
|
|
<Setter TargetName="WPFToggleSwitchButton"
|
|
Property="Background"
|
|
Value="#fff9f4f4"
|
|
/>
|
|
</Trigger>
|
|
<Trigger Property="IsChecked" Value="true">
|
|
<Trigger.ExitActions>
|
|
<RemoveStoryboard BeginStoryboardName="WPFToggleSwitchRight" />
|
|
<BeginStoryboard x:Name="WPFToggleSwitchLeft">
|
|
<Storyboard>
|
|
<ThicknessAnimation Storyboard.TargetProperty="Margin"
|
|
Storyboard.TargetName="WPFToggleSwitchButton"
|
|
Duration="0:0:0:0"
|
|
From="28,0,0,0"
|
|
To="0,0,0,0">
|
|
</ThicknessAnimation>
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</Trigger.ExitActions>
|
|
<Setter TargetName="WPFToggleSwitchButton"
|
|
Property="Background"
|
|
Value="#ff060600"
|
|
/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style x:Key="ColorfulToggleSwitchStyle" TargetType="{x:Type CheckBox}">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type ToggleButton}">
|
|
<Grid x:Name="toggleSwitch">
|
|
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Border Grid.Column="1" x:Name="Border" CornerRadius="8"
|
|
BorderThickness="1"
|
|
Width="34" Height="17">
|
|
<Ellipse x:Name="Ellipse" Fill="{MainForegroundColor}" Stretch="Uniform"
|
|
Margin="2,2,2,1"
|
|
HorizontalAlignment="Left" Width="12">
|
|
</Ellipse>
|
|
</Border>
|
|
</Grid>
|
|
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="Border" Property="BorderBrush" Value="{MainForegroundColor}" />
|
|
<Setter TargetName="Border" Property="Background" Value="{LinkHoverForegroundColor}"/>
|
|
<Setter Property="Cursor" Value="Hand" />
|
|
<Setter Property="Panel.ZIndex" Value="1000"/>
|
|
</Trigger>
|
|
<Trigger Property="ToggleButton.IsChecked" Value="False">
|
|
<Setter TargetName="Border" Property="Background" Value="{MainBackgroundColor}" />
|
|
<Setter TargetName="Border" Property="BorderBrush" Value="{MainForegroundColor}" />
|
|
<Setter TargetName="Ellipse" Property="Fill" Value="{MainForegroundColor}" />
|
|
|
|
</Trigger>
|
|
|
|
<Trigger Property="ToggleButton.IsChecked" Value="True">
|
|
<Setter TargetName="Border" Property="Background" Value="{MainBackgroundColor}" />
|
|
<Setter TargetName="Border" Property="BorderBrush" Value="{MainForegroundColor}" />
|
|
<Setter TargetName="Ellipse" Property="Fill" Value="{MainForegroundColor}" />
|
|
|
|
<Trigger.EnterActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<ColorAnimation Storyboard.TargetName="Border"
|
|
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
|
|
To="{ToggleButtonOnColor}" Duration="0:0:0.1" />
|
|
<ColorAnimation Storyboard.TargetName="Border"
|
|
Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)"
|
|
To="{ToggleButtonOnColor}" Duration="0:0:0.1" />
|
|
|
|
<ColorAnimation Storyboard.TargetName="Ellipse"
|
|
Storyboard.TargetProperty="(Fill).(SolidColorBrush.Color)"
|
|
To="White" Duration="0:0:0.1" />
|
|
<ThicknessAnimation Storyboard.TargetName="Ellipse"
|
|
Storyboard.TargetProperty="Margin"
|
|
To="18,2,2,2" Duration="0:0:0.1" />
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</Trigger.EnterActions>
|
|
<Trigger.ExitActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<ColorAnimation Storyboard.TargetName="Border"
|
|
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
|
|
To="{MainBackgroundColor}" Duration="0:0:0.1" />
|
|
|
|
<ThicknessAnimation Storyboard.TargetName="Ellipse"
|
|
Storyboard.TargetProperty="Margin"
|
|
To="2,2,2,1" Duration="0:0:0.1" />
|
|
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</Trigger.ExitActions>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="VerticalContentAlignment" Value="Center" />
|
|
</Style>
|
|
|
|
<Style x:Key="labelfortweaks" TargetType="{x:Type Label}">
|
|
<Setter Property="Foreground" Value="{MainForegroundColor}" />
|
|
<Setter Property="Background" Value="{MainBackgroundColor}" />
|
|
<Style.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="Foreground" Value="White" />
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
|
|
<Style TargetType="Border">
|
|
<Setter Property="Background" Value="{MainBackgroundColor}"/>
|
|
<Setter Property="BorderBrush" Value="{BorderColor}"/>
|
|
<Setter Property="BorderThickness" Value="1"/>
|
|
<Setter Property="CornerRadius" Value="5"/>
|
|
<Setter Property="Padding" Value="5"/>
|
|
<Setter Property="Margin" Value="5"/>
|
|
<Setter Property="Effect">
|
|
<Setter.Value>
|
|
<DropShadowEffect ShadowDepth="5" BlurRadius="5" Opacity="{BorderOpacity}" Color="{BorderColor}"/>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Style.Triggers>
|
|
<EventTrigger RoutedEvent="Loaded">
|
|
<BeginStoryboard>
|
|
<Storyboard RepeatBehavior="Forever">
|
|
<!-- <DoubleAnimation
|
|
Storyboard.TargetProperty="Effect.(DropShadowEffect.ShadowDepth)"
|
|
From="6" To="15" Duration="{ShadowPulse}" AutoReverse="True"/> -->
|
|
<!-- <DoubleAnimation
|
|
Storyboard.TargetProperty="Effect.(DropShadowEffect.Direction)"
|
|
From="0" To="360" Duration="Forever"/> -->
|
|
<DoubleAnimation
|
|
Storyboard.TargetProperty="Effect.(DropShadowEffect.Opacity)"
|
|
From="0.5" To="0.94" Duration="{ShadowPulse}" AutoReverse="True"/>
|
|
<DoubleAnimation
|
|
Storyboard.TargetProperty="Effect.(DropShadowEffect.BlurRadius)"
|
|
From="5" To="15" Duration="{ShadowPulse}" AutoReverse="True"/>
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</EventTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
|
|
<Style TargetType="TextBox">
|
|
<Setter Property="Background" Value="{MainBackgroundColor}"/>
|
|
<Setter Property="BorderBrush" Value="{MainForegroundColor}"/>
|
|
<Setter Property="BorderThickness" Value="1"/>
|
|
<Setter Property="Foreground" Value="{MainForegroundColor}"/>
|
|
<Setter Property="FontSize" Value="{FontSize}"/>
|
|
<Setter Property="Padding" Value="5"/>
|
|
<Setter Property="HorizontalAlignment" Value="Stretch"/>
|
|
<Setter Property="VerticalAlignment" Value="Center"/>
|
|
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="TextBox">
|
|
<Border Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
CornerRadius="5">
|
|
<Grid>
|
|
<ScrollViewer x:Name="PART_ContentHost" />
|
|
</Grid>
|
|
</Border>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="Effect">
|
|
<Setter.Value>
|
|
<DropShadowEffect ShadowDepth="5" BlurRadius="5" Opacity="{BorderOpacity}" Color="{BorderColor}"/>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<Style x:Key="ScrollVisibilityRectangle" TargetType="Rectangle">
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
<Style.Triggers>
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding Path=ComputedHorizontalScrollBarVisibility, ElementName=scrollViewer}" Value="Visible"/>
|
|
<Condition Binding="{Binding Path=ComputedVerticalScrollBarVisibility, ElementName=scrollViewer}" Value="Visible"/>
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
</MultiDataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Window.Resources>
|
|
<Grid Background="{MainBackgroundColor}" ShowGridLines="False" Name="WPFMainGrid" Width="Auto" Height="Auto" HorizontalAlignment="Stretch">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="{TabRowHeightInPixels}px"/>
|
|
<RowDefinition Height=".9*"/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<DockPanel HorizontalAlignment="Stretch" Background="{MainBackgroundColor}" SnapsToDevicePixels="True" Grid.Row="0" Width="Auto">
|
|
<Image Height="{WinUtilIconSize}" Width="{WinUtilIconSize}" Name="WPFIcon"
|
|
SnapsToDevicePixels="True" Source="https://christitus.com/images/logo-full.png" Margin="10"/>
|
|
<ToggleButton HorizontalAlignment="Left" Height="{TabButtonHeight}" Width="{TabButtonWidth}"
|
|
Background="{ButtonInstallBackgroundColor}" Foreground="white" FontWeight="Bold" Name="WPFTab1BT">
|
|
<ToggleButton.Content>
|
|
<TextBlock FontSize="{TabButtonFontSize}" Background="Transparent" Foreground="{ButtonInstallForegroundColor}" >
|
|
<Underline>I</Underline>nstall
|
|
</TextBlock>
|
|
</ToggleButton.Content>
|
|
</ToggleButton>
|
|
<ToggleButton HorizontalAlignment="Left" Height="{TabButtonHeight}" Width="{TabButtonWidth}"
|
|
Background="{ButtonTweaksBackgroundColor}" Foreground="{ButtonTweaksForegroundColor}" FontWeight="Bold" Name="WPFTab2BT">
|
|
<ToggleButton.Content>
|
|
<TextBlock FontSize="{TabButtonFontSize}" Background="Transparent" Foreground="{ButtonTweaksForegroundColor}">
|
|
<Underline>T</Underline>weaks
|
|
</TextBlock>
|
|
</ToggleButton.Content>
|
|
</ToggleButton>
|
|
<ToggleButton HorizontalAlignment="Left" Height="{TabButtonHeight}" Width="{TabButtonWidth}"
|
|
Background="{ButtonConfigBackgroundColor}" Foreground="{ButtonConfigForegroundColor}" FontWeight="Bold" Name="WPFTab3BT">
|
|
<ToggleButton.Content>
|
|
<TextBlock FontSize="{TabButtonFontSize}" Background="Transparent" Foreground="{ButtonConfigForegroundColor}">
|
|
<Underline>C</Underline>onfig
|
|
</TextBlock>
|
|
</ToggleButton.Content>
|
|
</ToggleButton>
|
|
<ToggleButton HorizontalAlignment="Left" Height="{TabButtonHeight}" Width="{TabButtonWidth}"
|
|
Background="{ButtonUpdatesBackgroundColor}" Foreground="{ButtonUpdatesForegroundColor}" FontWeight="Bold" Name="WPFTab4BT">
|
|
<ToggleButton.Content>
|
|
<TextBlock FontSize="{TabButtonFontSize}" Background="Transparent" Foreground="{ButtonUpdatesForegroundColor}">
|
|
<Underline>U</Underline>pdates
|
|
</TextBlock>
|
|
</ToggleButton.Content>
|
|
</ToggleButton>
|
|
<ToggleButton HorizontalAlignment="Left" Height="{TabButtonHeight}" Width="{TabButtonWidth}"
|
|
Background="{ButtonUpdatesBackgroundColor}" Foreground="{ButtonUpdatesForegroundColor}" FontWeight="Bold" Name="WPFTab5BT">
|
|
<ToggleButton.Content>
|
|
<TextBlock FontSize="{TabButtonFontSize}" Background="Transparent" Foreground="{ButtonUpdatesForegroundColor}">
|
|
<Underline>M</Underline>icroWin
|
|
</TextBlock>
|
|
</ToggleButton.Content>
|
|
</ToggleButton>
|
|
<Grid Background="{MainBackgroundColor}" ShowGridLines="False" Width="Auto" Height="Auto" HorizontalAlignment="Stretch">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="50px"/>
|
|
<ColumnDefinition Width="50px"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<!--
|
|
TODO:
|
|
Make this SearchBar TextBox Position itself and still
|
|
house the Magnifying Glass Character in place,
|
|
even if that Magnifying Icon changed its Size,
|
|
it should be positioned relative to the SearchBar.
|
|
Consider using a Math Solver, will help in making
|
|
development of these things much easier
|
|
-->
|
|
<TextBox
|
|
Grid.Column="0"
|
|
Width="{SearchBarWidth}"
|
|
Height="{SearchBarHeight}"
|
|
FontSize="{SearchBarTextBoxFontSize}"
|
|
VerticalAlignment="Center" HorizontalAlignment="Left"
|
|
Margin="10,0,0,0" BorderThickness="1" Padding="22,2,2,2"
|
|
Name="SearchBar"
|
|
Foreground="{MainForegroundColor}" Background="{MainBackgroundColor}"
|
|
ToolTip="Press Ctrl-F and type app name to filter application list below. Press Esc to reset the filter">
|
|
</TextBox>
|
|
<TextBlock
|
|
Grid.Column="0"
|
|
VerticalAlignment="Center" HorizontalAlignment="Left"
|
|
FontFamily="Segoe MDL2 Assets"
|
|
FontSize="{IconFontSize}"
|
|
Margin="16,0,0,0"></TextBlock>
|
|
<!--
|
|
TODO:
|
|
Make this ClearButton Positioning react to
|
|
SearchBar Width Value changing, so it'll look correct.
|
|
Consider using a Math Solver, will help in making
|
|
development of these things much easier
|
|
-->
|
|
<Button Grid.Column="0"
|
|
VerticalAlignment="Center" HorizontalAlignment="Left"
|
|
Name="SearchBarClearButton"
|
|
Style="{StaticResource SearchBarClearButtonStyle}"
|
|
Margin="193,0,0,0" Visibility="Collapsed"/>
|
|
|
|
<Button Name="SettingsButton"
|
|
Style="{StaticResource HoverButtonStyle}"
|
|
Grid.Column="1" BorderBrush="Transparent"
|
|
Background="{MainBackgroundColor}"
|
|
Foreground="{MainForegroundColor}"
|
|
FontSize="{SettingsIconFontSize}"
|
|
Width="{IconButtonSize}" Height="{IconButtonSize}"
|
|
HorizontalAlignment="Right" VerticalAlignment="Top"
|
|
Margin="0,5,5,0"
|
|
FontFamily="Segoe MDL2 Assets"
|
|
Content=""/>
|
|
<Popup Grid.Column="1" Name="SettingsPopup"
|
|
IsOpen="False"
|
|
PlacementTarget="{Binding ElementName=SettingsButton}" Placement="Bottom"
|
|
HorizontalAlignment="Right" VerticalAlignment="Top">
|
|
<Border Background="{MainBackgroundColor}" BorderBrush="{MainForegroundColor}" BorderThickness="1" CornerRadius="0" Margin="0">
|
|
<StackPanel Background="{MainBackgroundColor}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
|
<MenuItem FontSize="{ButtonFontSize}" Header="Import" Name="ImportMenuItem" Foreground="{MainForegroundColor}"/>
|
|
<MenuItem FontSize="{ButtonFontSize}" Header="Export" Name="ExportMenuItem" Foreground="{MainForegroundColor}"/>
|
|
<Separator/>
|
|
<MenuItem FontSize="{ButtonFontSize}" Header="About" Name="AboutMenuItem" Foreground="{MainForegroundColor}"/>
|
|
</StackPanel>
|
|
</Border>
|
|
</Popup>
|
|
|
|
<Button
|
|
Grid.Column="2"
|
|
Content="×" BorderThickness="0"
|
|
BorderBrush="Transparent"
|
|
Background="{MainBackgroundColor}"
|
|
Width="{IconButtonSize}" Height="{IconButtonSize}"
|
|
HorizontalAlignment="Right" VerticalAlignment="Top"
|
|
Margin="0,5,5,0"
|
|
FontFamily="Arial"
|
|
Foreground="{MainForegroundColor}" FontSize="{IconFontSize}" Name="WPFCloseButton" />
|
|
</Grid>
|
|
|
|
</DockPanel>
|
|
|
|
<TabControl Name="WPFTabNav" Background="Transparent" Width="Auto" Height="Auto" BorderBrush="Transparent" BorderThickness="0" Grid.Row="1" Grid.Column="0" Padding="-1">
|
|
<TabItem Header="Install" Visibility="Collapsed" Name="WPFTab1">
|
|
<Grid Background="Transparent" >
|
|
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="45px"/>
|
|
<RowDefinition Height="0.95*"/>
|
|
</Grid.RowDefinitions>
|
|
<StackPanel Background="{MainBackgroundColor}" Orientation="Horizontal" Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Column="0" Grid.ColumnSpan="3" Margin="5">
|
|
<Button Name="WPFinstall" Content=" Install/Upgrade Selected" Margin="2" />
|
|
<Button Name="WPFInstallUpgrade" Content=" Upgrade All" Margin="2"/>
|
|
<Button Name="WPFuninstall" Content=" Uninstall Selected" Margin="2"/>
|
|
<Button Name="WPFGetInstalled" Content=" Get Installed" Margin="2"/>
|
|
<Button Name="WPFclearWinget" Content=" Clear Selection" Margin="2"/>
|
|
</StackPanel>
|
|
|
|
<ScrollViewer x:Name="scrollViewer" Grid.Row="1" Grid.Column="0" Padding="-1" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"
|
|
BorderBrush="Transparent" BorderThickness="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
|
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
|
{{InstallPanel_applications}}
|
|
</Grid>
|
|
</ScrollViewer>
|
|
|
|
<Rectangle Grid.Row="1" Grid.Column="0" Width="18" Height="18" Fill="{MainBackgroundColor}" HorizontalAlignment="Right" VerticalAlignment="Bottom" Style="{StaticResource ScrollVisibilityRectangle}"/>
|
|
|
|
</Grid>
|
|
</TabItem>
|
|
<TabItem Header="Tweaks" Visibility="Collapsed" Name="WPFTab2">
|
|
<ScrollViewer VerticalScrollBarVisibility="Auto">
|
|
<Grid Background="Transparent">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="45px"/>
|
|
<RowDefinition Height=".70*"/>
|
|
<RowDefinition Height=".10*"/>
|
|
</Grid.RowDefinitions>
|
|
{{InstallPanel_tweaks}}
|
|
<StackPanel Background="{MainBackgroundColor}" Orientation="Horizontal" HorizontalAlignment="Left" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Margin="5">
|
|
<Label Content="Recommended Selections:" FontSize="{FontSize}" VerticalAlignment="Center" Margin="2"/>
|
|
<Button Name="WPFstandard" Content=" Standard " Margin="2"/>
|
|
<Button Name="WPFminimal" Content=" Minimal " Margin="2"/>
|
|
<Button Name="WPFclear" Content=" Clear " Margin="2"/>
|
|
<Button Name="WPFGetInstalledTweaks" Content=" Get Installed " Margin="2"/>
|
|
</StackPanel>
|
|
<Border Grid.ColumnSpan="2" Grid.Row="2" Grid.Column="0">
|
|
<StackPanel Background="{MainBackgroundColor}" Orientation="Horizontal" HorizontalAlignment="Left">
|
|
<TextBlock Padding="10">
|
|
Note: Hover over items to get a better description. Please be careful as many of these tweaks will heavily modify your system.
|
|
<LineBreak/>Recommended selections are for normal users and if you are unsure do NOT check anything else!
|
|
</TextBlock>
|
|
</StackPanel>
|
|
</Border>
|
|
|
|
</Grid>
|
|
</ScrollViewer>
|
|
</TabItem>
|
|
<TabItem Header="Config" Visibility="Collapsed" Name="WPFTab3">
|
|
<ScrollViewer VerticalScrollBarVisibility="Auto">
|
|
<Grid Background="Transparent">
|
|
{{InstallPanel_features}}
|
|
</Grid>
|
|
</ScrollViewer>
|
|
</TabItem>
|
|
<TabItem Header="Updates" Visibility="Collapsed" Name="WPFTab4">
|
|
<ScrollViewer VerticalScrollBarVisibility="Auto">
|
|
<Grid Background="Transparent">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Border Grid.Row="0" Grid.Column="0">
|
|
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
|
|
<Button Name="WPFUpdatesdefault" FontSize="{ConfigTabButtonFontSize}" Height="Auto" Width="Auto" Content="Default (Out of Box) Settings" Margin="20,4,20,10" Padding="10"/>
|
|
<TextBlock Margin="20,0,20,0" Padding="10" TextWrapping="WrapWithOverflow" MaxWidth="300">This is the default settings that come with Windows. <LineBreak/><LineBreak/> No modifications are made and will remove any custom windows update settings.<LineBreak/><LineBreak/>Note: If you still encounter update errors, reset all updates in the config tab. That will restore ALL Microsoft Update Services from their servers and reinstall them to default settings.</TextBlock>
|
|
</StackPanel>
|
|
</Border>
|
|
<Border Grid.Row="0" Grid.Column="1">
|
|
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
|
|
<Button Name="WPFUpdatessecurity" FontSize="{ConfigTabButtonFontSize}" Height="Auto" Width="Auto" Content="Security (Recommended) Settings" Margin="20,4,20,10" Padding="10"/>
|
|
<TextBlock Margin="20,0,20,0" Padding="10" TextWrapping="WrapWithOverflow" MaxWidth="300">This is my recommended setting I use on all computers.<LineBreak/><LineBreak/> It will delay feature updates by 2 years and will install security updates 4 days after release.<LineBreak/><LineBreak/>Feature Updates: Adds features and often bugs to systems when they are released. You want to delay these as long as possible.<LineBreak/><LineBreak/>Security Updates: Typically these are pressing security flaws that need to be patched quickly. You only want to delay these a couple of days just to see if they are safe and don't break other systems. You don't want to go without these for ANY extended periods of time.</TextBlock>
|
|
</StackPanel>
|
|
</Border>
|
|
<Border Grid.Row="0" Grid.Column="2">
|
|
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
|
|
<Button Name="WPFUpdatesdisable" FontSize="{ConfigTabButtonFontSize}" Height="Auto" Width="Auto" Content="Disable ALL Updates (NOT RECOMMENDED!)" Margin="20,4,20,10" Padding="10,10,10,10"/>
|
|
<TextBlock Margin="20,0,20,0" Padding="10" TextWrapping="WrapWithOverflow" MaxWidth="300">This completely disables ALL Windows Updates and is NOT RECOMMENDED.<LineBreak/><LineBreak/> However, it can be suitable if you use your system for a select purpose and do not actively browse the internet. <LineBreak/><LineBreak/>Note: Your system will be easier to hack and infect without security updates.</TextBlock>
|
|
<TextBlock Text=" " Margin="20,0,20,0" Padding="10" TextWrapping="WrapWithOverflow" MaxWidth="300"/>
|
|
</StackPanel>
|
|
</Border>
|
|
</Grid>
|
|
</ScrollViewer>
|
|
</TabItem>
|
|
<TabItem Header="MicroWin" Visibility="Collapsed" Name="WPFTab5">
|
|
<ScrollViewer VerticalScrollBarVisibility="Auto">
|
|
<Grid Width="Auto" Height="Auto">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="3*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<Border Grid.Row="0" Grid.Column="0"
|
|
VerticalAlignment="Stretch"
|
|
HorizontalAlignment="Stretch">
|
|
<StackPanel Name="MicrowinMain" Background="{MainBackgroundColor}" SnapsToDevicePixels="True" Grid.Column="0" Grid.Row="0">
|
|
<StackPanel Background="Transparent" SnapsToDevicePixels="True" Margin="1">
|
|
<CheckBox x:Name="WPFMicrowinDownloadFromGitHub" Content="Download oscdimg.exe from CTT Github repo" IsChecked="False" Margin="-10,1,1,1" />
|
|
<TextBlock Margin="5" Padding="1" TextWrapping="Wrap" Foreground="{ComboBoxForegroundColor}">
|
|
Choose a Windows ISO file that you've downloaded <LineBreak/>
|
|
Check the status in the console
|
|
</TextBlock>
|
|
<CheckBox x:Name="WPFMicrowinISOScratchDir" Content="Use ISO directory for ScratchDir " IsChecked="False" Margin="-10,1,1,1"
|
|
ToolTip="Use ISO directory for ScratchDir " />
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" /> <!-- Takes the remaining space -->
|
|
<ColumnDefinition Width="30" /> <!-- Fixed width for Button -->
|
|
</Grid.ColumnDefinitions>
|
|
<TextBox Name="MicrowinScratchDirBox" Background="Transparent" BorderBrush="{MainForegroundColor}"
|
|
Text="Scratch"
|
|
Margin="2"
|
|
IsReadOnly="False"
|
|
ToolTip="Alt Path For Scratch Directory"
|
|
Grid.Column="0"
|
|
VerticalAlignment="Center"
|
|
Foreground="{LabelboxForegroundColor}">
|
|
</TextBox>
|
|
<Button Name="MicrowinScratchDirBT"
|
|
Width="Auto"
|
|
Height="Auto"
|
|
Grid.Column="1"
|
|
Margin="2"
|
|
Padding="1" VerticalAlignment="Center">
|
|
<Button.Content>
|
|
...
|
|
</Button.Content>
|
|
</Button>
|
|
</Grid>
|
|
<TextBox Name="MicrowinFinalIsoLocation" Background="Transparent" BorderBrush="{MainForegroundColor}"
|
|
Text="ISO location will be printed here"
|
|
Margin="2"
|
|
IsReadOnly="True"
|
|
TextWrapping="Wrap"
|
|
Foreground="{LabelboxForegroundColor}"
|
|
/>
|
|
<Button Name="WPFGetIso" Margin="2" Padding="15">
|
|
<Button.Content>
|
|
<TextBlock Background="Transparent" Foreground="{ButtonForegroundColor}">
|
|
Select Windows <Underline>I</Underline>SO
|
|
</TextBlock>
|
|
</Button.Content>
|
|
</Button>
|
|
</StackPanel>
|
|
<!-- Visibility="Hidden" -->
|
|
<StackPanel Name="MicrowinOptionsPanel" HorizontalAlignment="Left" SnapsToDevicePixels="True" Margin="1" Visibility="Hidden">
|
|
<TextBlock Margin="6" Padding="1" TextWrapping="Wrap">Choose Windows SKU</TextBlock>
|
|
<ComboBox x:Name = "MicrowinWindowsFlavors" Margin="1" />
|
|
<TextBlock Margin="6" Padding="1" TextWrapping="Wrap">Choose Windows features you want to remove from the ISO</TextBlock>
|
|
<CheckBox Name="WPFMicrowinKeepProvisionedPackages" Content="Keep Provisioned Packages" Margin="-10,5,0,0" ToolTip="Do not remove Microsoft Provisioned packages from the ISO."/>
|
|
<CheckBox Name="WPFMicrowinKeepAppxPackages" Content="Keep Appx Packages" Margin="-10,5,0,0" ToolTip="Do not remove Microsoft Appx packages from the ISO."/>
|
|
<CheckBox Name="WPFMicrowinKeepDefender" Content="Keep Defender" Margin="-10,5,0,0" IsChecked="True" ToolTip="Do not remove Microsoft Antivirus from the ISO."/>
|
|
<CheckBox Name="WPFMicrowinKeepEdge" Content="Keep Edge" Margin="-10,5,0,0" IsChecked="True" ToolTip="Do not remove Microsoft Edge from the ISO."/>
|
|
<Rectangle Fill="{MainForegroundColor}" Height="2" HorizontalAlignment="Stretch" Margin="0,10,0,10"/>
|
|
<CheckBox Name="MicrowinInjectDrivers" Content="Inject drivers (I KNOW WHAT I'M DOING)" Margin="-10,5,0,0" IsChecked="False" ToolTip="Path to unpacked drivers all sys and inf files for devices that need drivers"/>
|
|
<TextBox Name="MicrowinDriverLocation" Background="Transparent" BorderThickness="1" BorderBrush="{MainForegroundColor}"
|
|
Margin="6"
|
|
Text=""
|
|
IsReadOnly="False"
|
|
TextWrapping="Wrap"
|
|
Foreground="{LabelboxForegroundColor}"
|
|
ToolTip="Path to unpacked drivers all sys and inf files for devices that need drivers"
|
|
/>
|
|
<CheckBox Name="MicrowinImportDrivers" Content="Import drivers from current system" Margin="-10,5,0,0" IsChecked="False" ToolTip="Export all third-party drivers from your system and inject them to the MicroWin image"/>
|
|
<Rectangle Fill="{MainForegroundColor}" Height="2" HorizontalAlignment="Stretch" Margin="0,10,0,10"/>
|
|
<CheckBox Name="WPFMicrowinCopyToUsb" Content="Copy to Ventoy" Margin="-10,5,0,0" IsChecked="False" ToolTip="Copy to USB disk with a label Ventoy"/>
|
|
<Rectangle Fill="{MainForegroundColor}" Height="2" HorizontalAlignment="Stretch" Margin="0,10,0,10"/>
|
|
<Button Name="WPFMicrowin" Content="Start the process" Margin="2" Padding="15"/>
|
|
</StackPanel>
|
|
<StackPanel HorizontalAlignment="Left" SnapsToDevicePixels="True" Margin="1" Visibility="Collapsed">
|
|
<TextBlock Name="MicrowinIsoDrive" VerticalAlignment="Center" Margin="1" Padding="1" TextWrapping="WrapWithOverflow" Foreground="{ComboBoxForegroundColor}"/>
|
|
<TextBlock Name="MicrowinIsoLocation" VerticalAlignment="Center" Margin="1" Padding="1" TextWrapping="WrapWithOverflow" Foreground="{ComboBoxForegroundColor}"/>
|
|
<TextBlock Name="MicrowinMountDir" VerticalAlignment="Center" Margin="1" Padding="1" TextWrapping="WrapWithOverflow" Foreground="{ComboBoxForegroundColor}"/>
|
|
<TextBlock Name="MicrowinScratchDir" VerticalAlignment="Center" Margin="1" Padding="1" TextWrapping="WrapWithOverflow" Foreground="{ComboBoxForegroundColor}"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</Border>
|
|
<Border
|
|
VerticalAlignment="Stretch"
|
|
HorizontalAlignment="Stretch"
|
|
Grid.Row="0" Grid.Column="1">
|
|
<StackPanel HorizontalAlignment="Left" Background="{MainBackgroundColor}" SnapsToDevicePixels="True" Visibility="Visible">
|
|
|
|
<Grid Name = "BusyMessage" Visibility="Collapsed">
|
|
<TextBlock Name = "BusyText" Text="NBusy" Padding="22,2,1,1" />
|
|
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Left" FontFamily="Segoe MDL2 Assets"
|
|
FontSize="{IconFontSize}" Margin="16,0,0,0"></TextBlock>
|
|
</Grid>
|
|
|
|
<TextBlock x:Name = "asciiTextBlock"
|
|
xml:space ="preserve"
|
|
HorizontalAlignment = "Center"
|
|
Margin = "0"
|
|
VerticalAlignment = "Top"
|
|
Height = "Auto"
|
|
Width = "Auto"
|
|
FontSize = "{MicroWinLogoSize}"
|
|
FontFamily = "Courier New"
|
|
>
|
|
/\/\ (_) ___ _ __ ___ / / /\ \ \(_) _ __
|
|
/ \ | | / __|| '__| / _ \ \ \/ \/ /| || '_ \
|
|
/ /\/\ \| || (__ | | | (_) | \ /\ / | || | | |
|
|
\/ \/|_| \___||_| \___/ \/ \/ |_||_| |_|
|
|
</TextBlock>
|
|
|
|
<TextBlock Margin="15,15,15,0"
|
|
Padding="8,8,8,0"
|
|
VerticalAlignment="Center"
|
|
TextWrapping="WrapWithOverflow"
|
|
Height = "Auto"
|
|
Width = "Auto"
|
|
Foreground="{ComboBoxForegroundColor}">
|
|
<Bold>MicroWin features:</Bold><LineBreak/>
|
|
- Remove Telemetry and Tracking <LineBreak/>
|
|
- Add ability to use local accounts <LineBreak/>
|
|
- Remove Wifi requirement to finish install <LineBreak/>
|
|
- Ability to remove Edge <LineBreak/>
|
|
- Ability to remove Defender <LineBreak/>
|
|
- Remove Teams <LineBreak/>
|
|
- Apps debloat <LineBreak/>
|
|
<LineBreak/>
|
|
<LineBreak/>
|
|
|
|
<Bold>INSTRUCTIONS</Bold> <LineBreak/>
|
|
- Download the latest Windows 11 image from Microsoft <LineBreak/>
|
|
LINK: https://www.microsoft.com/software-download/windows11 <LineBreak/>
|
|
May take several minutes to process the ISO depending on your machine and connection <LineBreak/>
|
|
- Put it somewhere on the C:\ drive so it is easily accessible <LineBreak/>
|
|
- Launch WinUtil and MicroWin <LineBreak/>
|
|
- Click on the "Select Windows ISO" button and wait for WinUtil to process the image <LineBreak/>
|
|
It will be processed and unpacked which may take some time <LineBreak/>
|
|
- Once complete, choose which Windows flavor you want to base your image on <LineBreak/>
|
|
- Choose which features you want to keep <LineBreak/>
|
|
- Click the "Start Process" button <LineBreak/>
|
|
The process of creating the Windows image may take some time, please check the console and wait for it to say "Done" <LineBreak/>
|
|
- Once complete, the target ISO file will be in the directory you have specified <LineBreak/>
|
|
- Copy this image to your Ventoy USB Stick, boot to this image, gg
|
|
<LineBreak/>
|
|
If you are injecting drivers ensure you put all your inf, sys, and dll files for each driver into a separate directory
|
|
</TextBlock>
|
|
<TextBlock Margin="15,0,15,15"
|
|
Padding = "1"
|
|
TextWrapping="WrapWithOverflow"
|
|
Height = "Auto"
|
|
Width = "Auto"
|
|
VerticalAlignment = "Top"
|
|
Foreground = "{ComboBoxForegroundColor}"
|
|
xml:space = "preserve"
|
|
>
|
|
<Bold>Example:</Bold>
|
|
C:\drivers\
|
|
|-- Driver1\
|
|
| |-- Driver1.inf
|
|
| |-- Driver1.sys
|
|
|-- Driver2\
|
|
| |-- Driver2.inf
|
|
| |-- Driver2.sys
|
|
|-- OtherFiles...
|
|
</TextBlock>
|
|
</StackPanel>
|
|
</Border>
|
|
</Grid>
|
|
</ScrollViewer>
|
|
</TabItem>
|
|
</TabControl>
|
|
</Grid>
|
|
</Window>
|