GUI/OSDCloudGUI.xaml

<Window 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"
        x:Name="XamlWindow"
        Title="OSDCloudGUI"
        Width="780"
        Height="620"
        BorderThickness="0"
        RenderTransformOrigin="0.5,0.5"
        ResizeMode="CanResizeWithGrip"
        WindowStartupLocation="CenterScreen">
    <Window.Resources>
        <ResourceDictionary>
            <Style TargetType="{x:Type Button}">
                <Setter Property="Background"
                        Value="{DynamicResource FlatButtonBackgroundBrush}" />
                <Setter Property="BorderThickness"
                        Value="0" />
                <Setter Property="FontSize"
                        Value="{DynamicResource FlatButtonFontSize}" />
                <Setter Property="Foreground"
                        Value="{DynamicResource FlatButtonForegroundBrush}" />
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type Button}">
                            <Border x:Name="Border"
                                    Margin="0"
                                    Background="{TemplateBinding Background}"
                                    BorderBrush="{TemplateBinding BorderBrush}"
                                    CornerRadius="5"
                                    BorderThickness="{TemplateBinding BorderThickness}"
                                    SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}">
                                <ContentPresenter x:Name="ContentPresenter"
                                                  ContentTemplate="{TemplateBinding ContentTemplate}"
                                                  Content="{TemplateBinding Content}"
                                                  HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                                  Margin="{TemplateBinding Padding}"
                                                  VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
                            </Border>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
                <Style.Triggers>
                    <Trigger Property="IsMouseOver"
                             Value="True">
                        <!-- Windows 11 Theme Dark Blue -->
                        <Setter Property="Background"
                                Value="#003E92" />
                    </Trigger>
                    <Trigger Property="IsMouseOver"
                             Value="False">
                        <!-- Windows 11 Theme Blue -->
                        <Setter Property="Background"
                                Value="#0067C0" />
                    </Trigger>
                    <Trigger Property="IsPressed"
                             Value="True">
                        <Setter Property="Background"
                                Value="{DynamicResource FlatButtonPressedBackgroundBrush}" />
                        <Setter Property="Foreground"
                                Value="{DynamicResource FlatButtonPressedForegroundBrush}" />
                    </Trigger>
                    <Trigger Property="IsEnabled"
                             Value="False">
                        <Setter Property="Foreground"
                                Value="{DynamicResource GrayBrush2}" />
                    </Trigger>
                </Style.Triggers>
            </Style>
            <Style TargetType="{x:Type ComboBox}">
                <Setter Property="FontFamily"
                        Value="Segoe UI" />
            </Style>
            <Style TargetType="{x:Type Label}">
                <Setter Property="FontFamily"
                        Value="Segoe UI" />
            </Style>
            <Style TargetType="{x:Type TextBox}">
                <Setter Property="FontFamily"
                        Value="Segoe UI" />
            </Style>
            <Style TargetType="{x:Type Window}">
                <Setter Property="FontFamily"
                        Value="Segoe UI" />
                <Setter Property="FontSize"
                        Value="16" />
                <Setter Property="Background"
                        Value="White" />
                <Setter Property="Foreground"
                        Value="Black" />
            </Style>
        </ResourceDictionary>
    </Window.Resources>
    <Window.Background>
        <RadialGradientBrush GradientOrigin="0.2,0.2"
                             Center="0.4,0.1"
                             RadiusX="0.7"
                             RadiusY="0.8">
            <RadialGradientBrush.RelativeTransform>
                <TransformGroup>
                    <ScaleTransform CenterY="0.5"
                                    CenterX="0.5" />
                    <SkewTransform CenterY="0.5"
                                   CenterX="0.5" />
                    <RotateTransform Angle="-40.601"
                                     CenterY="0.5"
                                     CenterX="0.5" />
                    <TranslateTransform />
                </TransformGroup>
            </RadialGradientBrush.RelativeTransform>
            <GradientStop Color="White" />
            <GradientStop Color="#FFF9FFFE"
                          Offset="0.056" />
            <GradientStop Color="#FFF8FEFF"
                          Offset="0.776" />
            <GradientStop Color="#FFF4FAFF"
                          Offset="0.264" />
            <GradientStop Color="White"
                          Offset="0.506" />
            <GradientStop Color="AliceBlue"
                          Offset="1" />
        </RadialGradientBrush>
    </Window.Background>
    <Grid Margin="20,0,20,20">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="30" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="30" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="30" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
            <RowDefinition Height="50" />
        </Grid.RowDefinitions>
        <!-- RowBranding -->
        <Label Grid.Row="0"
               Name="BrandingTitleControl"
               Content="OSDCloud"
               FlowDirection="RightToLeft"
               FontSize="30"
               FontWeight="Bold"
               Foreground="#01786A"
               HorizontalAlignment="Right"
               VerticalAlignment="Top" />
        <!-- Line -->
        <Line Grid.Row="1"
              X1="0"
              Y1="0"
              X2="1"
              Y2="0"
              Stroke="Gainsboro"
              StrokeThickness="1"
              Stretch="Uniform"></Line>
        <!-- RowOperatingSystem -->
        <StackPanel Grid.Row="2"
                    HorizontalAlignment="Left"
                    VerticalAlignment="Top">
            <!-- Operating System -->
            <StackPanel Orientation="Horizontal"
                        HorizontalAlignment="Left"
                        VerticalAlignment="Top">
                <Label Name="OperatingSystemLabel"
                       Content="Windows 10 x64"
                       FontSize="18"
                       FontWeight="Bold"
                       Foreground="#003E92"
                       Width="170" />
                <ComboBox Name="OSBuildControl"
                          FontSize="16"
                          Height="35"
                          Margin="5,5,5,0"
                          Padding="5,5,5,0" />
                <ComboBox Name="OSEditionControl"
                          FontSize="16"
                          Height="35"
                          Margin="5,5,5,0"
                          Padding="5,5,5,0" />
                <ComboBox Name="OSLanguageControl"
                          FontSize="16"
                          Height="35"
                          Margin="5,5,5,0"
                          Padding="5,5,5,0" />
                <ComboBox Name="OSLicenseControl"
                          FontSize="16"
                          Height="35"
                          Margin="5,5,5,0"
                          Padding="5,5,5,0" />
                <Label Name="ImageIndexLabel"
                       Content="Index"
                   FontSize="16"
                   FontWeight="Bold"
                   Foreground="#003E92"
                       Height="30"
                       Margin="5,5,5,0"
                       Padding="5,5,5,0" />
                <TextBox Name="ImageIndexControl"
                         FontSize="18"
                         Height="30"
                         Margin="5,5,5,0"
                         Padding="5,0,5,0" />
            </StackPanel>
            <StackPanel Orientation="Horizontal"
                        HorizontalAlignment="Left"
                        VerticalAlignment="Bottom"
                        Margin="0,5,5,0">
                <Label Name="CustomImageLabel"
                       Content="WIM File"
                       FontSize="16"
                       FontWeight="Bold"
                       Foreground="#003E92"
                       Margin="0,-3,0,0"
                       Padding="5,5,5,0"
                       Width="170"
                       HorizontalAlignment="Right"
                       FlowDirection="RightToLeft" />
                <ComboBox Name="CustomImageControl"
                          FontSize="14"
                          Height="30"
                          Margin="5,0"
                          Padding="5,5,5,0" />
            </StackPanel>
        </StackPanel>
        <Line Grid.Row="3"
              X1="0"
              Y1="0"
              X2="1"
              Y2="0"
              Stroke="Gainsboro"
              StrokeThickness="1"
              Stretch="Uniform"></Line>
        <!-- RowComputerSystem -->
        <StackPanel Grid.Row="4"
                    Orientation="Horizontal"
                    HorizontalAlignment="Left"
                    VerticalAlignment="Top">
            <Label Name="ComputerSystemLabel"
                   Content="Computer System"
                   FontSize="18"
                   FontWeight="Bold"
                   Foreground="#003E92"
                   Width="170" />
            <TextBox Name="CSManufacturerControl"
                     FontSize="16"
                     Height="30"
                     Margin="5"
                     Padding="5" />
            <TextBox Name="CSModelControl"
                     FontSize="16"
                     Height="30"
                     Margin="5"
                     Padding="5" />
            <Label Name="CSProductLabel"
                   Content="Product"
                   FontSize="16"
                   FontWeight="Bold"
                   Foreground="#003E92"
                   Height="30"
                   Margin="5"
                   Padding="5" />
            <TextBox Name="CSProductControl"
                     FontSize="16"
                     Height="30"
                     Margin="5"
                     Padding="5" />
        </StackPanel>
        <!-- Line -->
        <Line Grid.Row="5"
              X1="0"
              Y1="0"
              X2="1"
              Y2="0"
              Stroke="Gainsboro"
              StrokeThickness="1"
              Stretch="Uniform"></Line>
        <!-- RowCustomizations -->
        <StackPanel Grid.Row="6"
                    Orientation="Vertical"
                    HorizontalAlignment="Left"
                    VerticalAlignment="Top">
            <Label Name="DeploymentOptionsLabel"
                   Content="Deployment Options"
                   FontSize="18"
                   FontWeight="Bold"
                   Foreground="#003E92"/>
            <CheckBox Name="RestartCheckbox"
                      BorderBrush="Black"
                      BorderThickness="2"
                      FontSize="16"
                      Foreground="Black"
                      IsChecked="True"
                      Padding="5,-2,5,10"
                      VerticalAlignment="Center"
                      Margin="170,0,0,0">Restart the computer after WinPE phase is complete</CheckBox>
            <CheckBox Name="ScreenshotCheckbox"
                      BorderBrush="Black"
                      BorderThickness="2"
                      FontSize="15"
                      Foreground="Black"
                      Padding="5,-2,5,10"
                      VerticalAlignment="Center"
                      Margin="170,0,0,0">Capture WinPE screenshots and save to C:\OSDCloud\ScreenPNG</CheckBox>
            <CheckBox Name="ZTICheckbox"
                      BorderBrush="Crimson"
                      BorderThickness="2"
                      FontSize="15"
                      FontWeight="Bold"
                      Foreground="Crimson"
                      Padding="5,-2,5,10"
                      VerticalAlignment="Center"
                      Margin="170,0,0,0">Don't warn before wiping disks</CheckBox>
            <!-- AutopilotJson -->
            <StackPanel HorizontalAlignment="Left"
                        VerticalAlignment="Center"
                        Orientation="Horizontal"
                        Margin="0,5,5,0">
                <Label Name="AutopilotJsonLabel"
                       Content="Autopilot JSON"
                       FontSize="15"
                       Foreground="Black"
                       HorizontalAlignment="Right"
                       Margin="0,0,0,5"
                       VerticalAlignment="Center"
                       Width="170"
                       FlowDirection="RightToLeft" />
                <ComboBox Name="AutopilotJsonControl"
                          FontSize="14"
                          Height="30"
                          Margin="0,0,0,5" />
            </StackPanel>
            <!-- OOBEDeployJson -->
            <StackPanel HorizontalAlignment="Left"
                        VerticalAlignment="Center"
                        Orientation="Horizontal"
                        Margin="0,5,5,0">
                <Label Name="OOBEDeployLabel"
                       Content="OOBEDeploy"
                       FontSize="15"
                       Foreground="Black"
                       Margin="0,0,0,5"
                       VerticalAlignment="Center"
                       Width="170"
                       FlowDirection="RightToLeft" />
                <ComboBox Name="OOBEDeployControl"
                          FontSize="14"
                          Height="30"
                          Margin="0,0,0,5" />
            </StackPanel>
            <!-- AutopilotOOBEJson -->
            <StackPanel HorizontalAlignment="Left"
                        VerticalAlignment="Center"
                        Orientation="Horizontal"
                        Margin="0,5,5,0">
                <Label Name="AutopilotOOBELabel"
                       Content="AutopilotOOBE"
                       FontSize="15"
                       Foreground="Black"
                       Margin="0,0,0,5"
                       VerticalAlignment="Center"
                       Width="170"
                       FlowDirection="RightToLeft" />
                <ComboBox Name="AutopilotOOBEControl"
                          FontSize="14"
                          Height="30"
                          Margin="0,0,0,5" />
            </StackPanel>
        </StackPanel>
        <!-- Line -->
        <Line Grid.Row="7"
              X1="0"
              Y1="0"
              X2="1"
              Y2="0"
              Stroke="Gainsboro"
              StrokeThickness="1"
              Stretch="Uniform"></Line>
        <!-- RowStart -->
        <Button Grid.Row="8"
                Name="StartButtonControl"
                Content="Start"
                FontSize="18"
                Foreground="White"
                Height="40"
                Width="130"
                HorizontalAlignment="Right"
                VerticalAlignment="Bottom" />
    </Grid>
</Window>