WPFWindows/NewJobWindow.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"
        xmlns:local="clr-namespace:PSChiaPlotter"
        Title="New Job" Height="725" Width="650">
    <Window.Resources>
        <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
        <Style TargetType="Label">
            <Setter Property="HorizontalAlignment" Value="Right" />
            <Setter Property="VerticalAlignment" Value="Center" />
            <Setter Property="FontWeight" Value="Bold" />
        </Style>
        <Style TargetType="TextBox">
            <Setter Property="Margin" Value="5" />
            <Setter Property="VerticalAlignment" Value="Center" />
            <Setter Property="HorizontalContentAlignment" Value="Right"/>
        </Style>
        <Style TargetType="GroupBox">
            <Setter Property="FontWeight" Value="Bold" />
            <Setter Property="BorderThickness" Value="2" />
            <Setter Property="BorderBrush" Value="ForestGreen" />
        </Style>
        <Style TargetType="ComboBox">
            <Setter Property="Margin" Value="5" />
        </Style>
        <Style TargetType="ComboBoxItem">
            <Setter Property="FontSize" Value="10"/>
            <Setter Property="Margin" Value="0" />
            <Setter Property="Padding" Value="0" />
        </Style>
        <Style x:Key="TempBusType" TargetType="TextBlock">
            <Setter Property="VerticalAlignment" Value="Center" />
            <Setter Property="FontWeight" Value="Bold" />
            <Style.Triggers>
                <Trigger Property="Text" Value="NVMe">
                    <Setter Property="Foreground" Value="Green"/>
                </Trigger>
                <Trigger Property="Text" Value="Network">
                    <Setter Property="Foreground" Value="Red"/>
                </Trigger>
            </Style.Triggers>
        </Style>
        <Style x:Key="TempMediaType" TargetType="TextBlock">
            <Setter Property="VerticalAlignment" Value="Center" />
            <Setter Property="FontWeight" Value="Bold" />
            <Style.Triggers>
                <Trigger Property="Text" Value="SSD">
                    <Setter Property="Foreground" Value="Green" />
                </Trigger>
            </Style.Triggers>
        </Style>
        <Style x:Key="FinalBusType" TargetType="TextBlock">
            <Setter Property="VerticalAlignment" Value="Center" />
            <Setter Property="FontWeight" Value="Bold" />
            <Style.Triggers>
                <Trigger Property="Text" Value="SATA">
                    <Setter Property="Foreground" Value="Green"/>
                </Trigger>
            </Style.Triggers>
        </Style>
        <Style x:Key="FinalMediaType" TargetType="TextBlock">
            <Setter Property="VerticalAlignment" Value="Center" />
            <Setter Property="FontWeight" Value="Bold" />
            <Style.Triggers>
                <Trigger Property="Text" Value="HDD">
                    <Setter Property="Foreground" Value="Green" />
                </Trigger>
            </Style.Triggers>
        </Style>
        <Style x:Key="AddParamGroupbox" TargetType="GroupBox">
            <Setter Property="FontWeight" Value="Bold" />
            <Setter Property="BorderThickness" Value="2" />
            <Setter Property="BorderBrush" Value="ForestGreen" />
            <Style.Triggers>
                <DataTrigger Binding="{Binding ElementName=AdditionalParametersCheckBox, Path=IsChecked}" Value="False">
                    <Setter Property="BorderThickness" Value="0" />
                </DataTrigger>
                <DataTrigger Binding="{Binding ElementName=AdditionalParametersCheckBox, Path=IsChecked}" Value="True">
                    <Setter Property="BorderThickness" Value="2" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Window.Resources>
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="5" />
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="2*" />
            <ColumnDefinition Width="5" />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="5" />
            <RowDefinition Height="auto" />
            <RowDefinition Height="*" />
            <RowDefinition Height="auto" />
            <RowDefinition Height="5" />
        </Grid.RowDefinitions>
 
        <Border Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="3" BorderBrush="Black" BorderThickness="1" Margin="5">
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="auto" />
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="auto" />
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="auto" />
                </Grid.ColumnDefinitions>
 
                <Label Content="Job Names:"/>
                <TextBox Text="{Binding Path=NewChiaJob.JobName}" Grid.Column="1"/>
                <Label Content="Saved Jobs: " Grid.Column="2"/>
                <ComboBox Name="SavedJobs_Combobox" Grid.Column="3" SelectedValuePath="FullName" DisplayMemberPath="Name" />
                <Button x:Name="LoadJob_Button" Content="Load" Margin="0,5,5,5" Padding="5,0,5,0" Grid.Column="4"/>
            </Grid>
        </Border>
 
        <ScrollViewer x:Name="Form_ScrollViewer"
                      VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled"
                      Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="3">
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="5" />
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="5" />
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition Height="5" />
                    <RowDefinition Height="auto" />
                    <RowDefinition Height="auto" />
                    <RowDefinition Height="*" />
                    <RowDefinition Height="auto" />
                    <RowDefinition Height="5" />
                </Grid.RowDefinitions>
 
                <GroupBox Header="Plots / Parallel" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2">
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="5" />
                            <ColumnDefinition Width="auto" />
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="auto" />
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="auto" />
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="5" />
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="5" />
                            <RowDefinition Height="auto" />
                            <RowDefinition Height="auto" />
                            <RowDefinition Height="5" />
                        </Grid.RowDefinitions>
 
                        <Label Content="Total Plots:" Grid.Row="1" Grid.Column="1" />
                        <Label Content="Parallel Count:" Grid.Column="3" Grid.Row="1" />
                        <Label Content="Delay (minutes):" Grid.Column="3" Grid.Row="2" />
                        <Label Content="First Delay (min):" Grid.Row="2" Grid.Column="1" />
                        <Label Content="Phase 1 Limit" Grid.Row="2" Grid.Column="5"/>
 
                        <CheckBox Grid.Row="1" Grid.Column="5" Grid.ColumnSpan="2" Margin="5"
                                  x:Name="PhaseOneLimitor_CheckBox"
                                  ToolTip="This will enable the Phase 1 Limit Property below"
                                  Content="Enable Phase 1 Limit" VerticalAlignment="Center"
                                  IsThreeState="False" IsChecked="{Binding Path=NewChiaJob.EnablePhaseOneLimitor}" />
 
                        <TextBox x:Name="TotalPlots_TextBox" Grid.Row="1" Grid.Column="2" Text="{Binding Path=NewChiaJob.TotalPlotCount}" />
                        <TextBox x:Name="Parallel_TextBox" Grid.Row="1" Grid.Column="4" Text="{Binding Path=NewChiaJob.QueueCount}"/>
                        <TextBox x:Name="Delay_TextBox" Grid.Row="2" Grid.Column="4" Text="{Binding Path=NewChiaJob.DelayInMinutes}" />
                        <TextBox x:Name="FirstDelay_TextBox" Grid.Row="2" Grid.Column="2" Text="{Binding Path=NewChiaJob.FirstDelay}" />
                        <TextBox x:Name="PhaseOneLimit_TextBox"
                                 IsEnabled="{Binding ElementName=PhaseOneLimitor_CheckBox, Path=IsChecked}"
                                 Grid.Row="2" Grid.Column="6"
                                 ToolTip="This will limit the total number of chia processes that can be in phase 1 at one time."
                                 Text="{Binding Path=NewChiaJob.PhaseOneLimit}" />
                    </Grid>
                </GroupBox>
 
                <GroupBox Header="Plotting Parameters" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2">
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="5" />
                            <ColumnDefinition Width="auto" />
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="auto" />
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="5" />
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="5" />
                            <RowDefinition Height="auto" />
                            <RowDefinition Height="auto" />
                            <RowDefinition Height="auto" />
                            <RowDefinition Height="auto" />
                            <RowDefinition Height="5" />
                        </Grid.RowDefinitions>
 
                        <Label Content="K-Size: " Grid.Column="1" Grid.Row="1" />
                        <Label Content="RAM (MiB): " Grid.Column="3" Grid.Row="1" />
                        <Label Content="Threads: " Grid.Column="1" Grid.Row="2" />
                        <Label Content="Buckets: " Grid.Column="3" Grid.Row="2" />
 
                        <ComboBox Name="KSize_ComboBox"
                                  SelectedItem="{Binding Path=NewChiaJob.InitialChiaParameters.KSize}"
                                  ItemsSource="{Binding Path=AvailableKSizes}"
                                  DisplayMemberPath="KSizeValue"
                                  Grid.Column="2" Grid.Row="1" Margin="5"
                                  VerticalAlignment="Top">
                        </ComboBox>
                        <TextBox x:Name="RAM_TextBox" Grid.Row="1" Grid.Column="4" Text="{Binding Path=NewChiaJob.InitialChiaParameters.RAM}" />
                        <TextBox x:Name="Threads_TextBox" Grid.Row="2" Grid.Column="2"
                                 Text="{Binding Path=NewChiaJob.InitialChiaParameters.Threads}"/>
                        <TextBox x:Name="Buckets_TextBox" Grid.Row="2" Grid.Column="4" Text="{Binding Path=NewChiaJob.InitialChiaParameters.Buckets}" />
                        <Separator Grid.Column="1" Grid.ColumnSpan="4" Grid.Row="3" Height="1" VerticalAlignment="Center" Margin="5"/>
                        <UniformGrid Grid.Row="4" Grid.Column="1" Grid.ColumnSpan="4" Rows="1">
                            <CheckBox Content="Auto Check Plots"
                                      IsThreeState="False"
                                      IsChecked="{Binding Path=NewChiaJob.InitialChiaParameters.AutoPlotCheckEnabled}"
                                      HorizontalAlignment="Center" VerticalAlignment="Center"/>
                            <CheckBox Content="Disable Bitfield"
                                HorizontalAlignment="Center"
                                IsChecked="{Binding Path=NewChiaJob.InitialChiaParameters.DisableBitField}" IsThreeState="False"
                                VerticalAlignment="Center"/>
                            <CheckBox Content="Exclude Final Directory"
                                HorizontalAlignment="Center"
                                IsChecked="{Binding Path=NewChiaJob.InitialChiaParameters.ExcludeFinalDirectory}"
                                Margin="5,0,0,0" IsThreeState="False"
                                VerticalAlignment="Center"/>
                        </UniformGrid>
 
                    </Grid>
                </GroupBox>
 
                <GroupBox Grid.Row="3" Grid.Column="1" Grid.ColumnSpan="2">
                    <GroupBox.Header>
                        <StackPanel Orientation="Horizontal">
                            <Label Content="Directories" Margin="0" Padding="0"/>
                            <Separator Width="5" Margin="5" VerticalAlignment="Center"/>
                            <Button x:Name="AdvancedBasic_Button" Content="Switch To Basic" FontSize="10" Margin="0" Padding="5,0,5,0" Background="Azure" VerticalAlignment="Bottom"/>
                        </StackPanel>
                    </GroupBox.Header>
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="5" />
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="5" />
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="5" />
                            <RowDefinition Height="*" />
                            <RowDefinition Height="5" />
                        </Grid.RowDefinitions>
 
                        <Grid x:Name="BasicPlotting_Grid" Grid.Row="1" Grid.Column="1" Visibility="Collapsed">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="5" />
                                <ColumnDefinition Width="auto" />
                                <ColumnDefinition Width="*" />
                                <ColumnDefinition Width="5" />
                            </Grid.ColumnDefinitions>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="5" />
                                <RowDefinition Height="auto" />
                                <RowDefinition Height="auto" />
                                <RowDefinition Height="auto" />
                                <RowDefinition Height="*" />
                                <RowDefinition Height="auto" />
                                <RowDefinition Height="auto" />
                                <RowDefinition Height="5" />
                            </Grid.RowDefinitions>
 
                            <Label Content="Temp Directory Path: " Grid.Row="1" Grid.Column="1"/>
                            <CheckBox Content="2nd Temp Directory Path: "
                                      x:Name="SecondTempCheckBox"
                                      IsThreeState="False"
                                      VerticalAlignment="Center"
                                      IsChecked="{Binding Path=NewChiaJob.InitialChiaParameters.EnableBasicSecondTempDirectory}"
                                      Grid.Row="2" Grid.Column="1"/>
                            <Label Content="Final Directory Path: " Grid.Row="3" Grid.Column="1"/>
                            <CheckBox Content="Replot Directory: "
                                      IsChecked="{Binding Path=NewChiaJob.InitialChiaParameters.ReplotEnabled}"
                                      IsThreeState="False"
                                      VerticalAlignment="Top"
                                      Margin="0,5,0,0"
                                      HorizontalAlignment="Right"
                                      Grid.Row="4" Grid.Column="1" />
                            <Label Content="Logging Path: " Grid.Row="5" Grid.Column="1"/>
                            <Label Content="Note: " Grid.Row="6" Grid.Column="1" />
 
 
                            <TextBox x:Name="TempDir_TextBox"
                                     Text="{Binding Path=NewChiaJob.InitialChiaParameters.BasicTempDirectory.DirectoryPath}"
                                     Grid.Row="1" Grid.Column="2" HorizontalContentAlignment="Left"/>
                            <TextBox x:Name="SecondTempDir_TextBox"
                                     IsEnabled="{Binding ElementName=SecondTempCheckBox, Path=IsChecked}"
                                     Text="{Binding Path=NewChiaJob.InitialChiaParameters.BasicSecondTempDirectory}"
                                     Grid.Row="2" Grid.Column="2" HorizontalContentAlignment="Left"/>
                            <TextBox x:Name="FinalDir_TextBox"
                                     Text="{Binding Path=NewChiaJob.InitialChiaParameters.BasicFinalDirectory.DirectoryPath}"
                                     Grid.Row="3" Grid.Column="2" HorizontalContentAlignment="Left"/>
                            <Grid Grid.Row="4" Grid.Column="2" MinHeight="25" VerticalAlignment="Stretch"
                                  IsEnabled="{Binding ElementName=EnableReplotCheckbox, Path=IsChecked}"
                                  >
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="*" />
                                    <ColumnDefinition Width="auto" />
                                </Grid.ColumnDefinitions>
                                <ListBox x:Name="ReplotDir_ListBox"
                                     IsEnabled="{Binding ElementName=EnableReplotCheckbox, Path=IsChecked}"
                                     ItemsSource="{Binding Path=NewChiaJob.InitialChiaParameters.BasicFinalDirectory.OldPlotDirectories}"
                                     HorizontalContentAlignment="Stretch" VerticalAlignment="Stretch"
                                     Grid.Column="0" Margin="5" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
                                    <ListBox.ItemTemplate>
                                        <DataTemplate>
                                            <Border BorderBrush="SlateGray" BorderThickness="1">
                                                <Grid>
                                                    <Grid.ColumnDefinitions>
                                                        <ColumnDefinition Width="auto" />
                                                        <ColumnDefinition Width="*" />
                                                        <ColumnDefinition Width="auto" />
                                                        <ColumnDefinition Width="auto" />
                                                        <ColumnDefinition Width="auto" />
                                                        <ColumnDefinition Width="auto" />
                                                    </Grid.ColumnDefinitions>
                                                    <Label Content="Path:" Grid.Column="0" FontWeight="Bold" VerticalAlignment="Center"/>
                                                    <TextBox Text="{Binding Path}" HorizontalContentAlignment="Left" Grid.Column="1" IsReadOnly="True" Margin="5" HorizontalAlignment="Stretch"/>
                                                    <Separator Grid.Column="2" Style="{StaticResource {x:Static ToolBar.SeparatorStyleKey}}" Margin="5"/>
                                                    <Label Content="Old Plot Count:" Grid.Column="3" FontWeight="Bold" VerticalAlignment="Center"/>
                                                    <Label Content="{Binding PlotCount}" Grid.Column="4" VerticalAlignment="Center" Foreground="OrangeRed" FontWeight="Black"/>
                                                </Grid>
                                            </Border>
                                        </DataTemplate>
                                    </ListBox.ItemTemplate>
                                </ListBox>
                                <Button x:Name="BasicReplot_Button" Content="Add"
                                        Margin="5" Padding="5,2,5,2" MaxHeight="30"
                                        VerticalAlignment="Top"
                                        Grid.Column="1"/>
                            </Grid>
                            <TextBox x:Name="LoggingPath_TextBox"
                                     Text="{Binding Path=NewChiaJob.InitialChiaParameters.LogDirectory}"
                                     Grid.Row="5" Grid.Column="2" HorizontalContentAlignment="Left"/>
                            <TextBlock Text="Basic plotting performs no checks to ensure free space when plotting." Grid.Column="2" Grid.Row="6" VerticalAlignment="Center"/>
 
                        </Grid>
 
                        <TabControl x:Name="AdvancedPlotting_TabControl"
                                    Grid.Row="1" Grid.Column="1" HorizontalAlignment="Stretch"
                                    Visibility="Visible"
                                    VerticalAlignment="Stretch">
                            <TabItem Header="Temp Drives">
                                <Grid>
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="5" />
                                        <ColumnDefinition Width="auto" />
                                        <ColumnDefinition Width="*" />
                                        <ColumnDefinition Width="auto" />
                                        <ColumnDefinition Width="5" />
                                    </Grid.ColumnDefinitions>
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="5" />
                                        <RowDefinition Height="auto" />
                                        <RowDefinition Height="*" />
                                        <RowDefinition Height="auto" />
                                    </Grid.RowDefinitions>
 
                                    <Label Content="Temp Drives: " ToolTip="These drive are for phase 1 and 2 (and 3 if no 2nd temp drive is selected)"
                                           Grid.Column="1" Grid.Row="1" Margin="5" HorizontalAlignment="Left"/>
 
                                    <Grid Grid.Row="3" Grid.Column="1" Grid.ColumnSpan="3">
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="auto" />
                                            <ColumnDefinition Width="*" />
                                            <ColumnDefinition Width="auto" />
                                            <ColumnDefinition Width="auto" />
                                        </Grid.ColumnDefinitions>
                                        <Grid.RowDefinitions>
                                            <RowDefinition Height="*" />
                                        </Grid.RowDefinitions>
 
                                        <Label Content="2nd Temp Drive:" Grid.Row="0" Grid.Column="0" ToolTip="This drive is for phase 3 only. If none selected, then it will default to the temporary directory."/>
                                        <ComboBox Name="SecondTemp_ComboBox" Grid.Column="1"
                                                  SelectedItem="{Binding Path=NewChiaJob.InitialChiaParameters.SecondTempVolume}"
                                                  ItemsSource="{Binding Path=SecondTempVolumes}">
                                            <ComboBox.ItemTemplate>
                                                <DataTemplate>
                                                    <Grid>
                                                        <Grid.ColumnDefinitions>
                                                            <ColumnDefinition Width="auto" />
                                                            <ColumnDefinition Width="*" />
                                                            <ColumnDefinition Width="*" />
                                                            <ColumnDefinition Width="*" />
                                                        </Grid.ColumnDefinitions>
                                                        <Grid.RowDefinitions>
                                                            <RowDefinition Height="*" />
                                                        </Grid.RowDefinitions>
 
                                                        <StackPanel Orientation="Horizontal" Grid.Column="0" Grid.Row="0">
                                                            <TextBlock Text="{Binding Path=DriveLetter, StringFormat={}{0} - }" VerticalAlignment="Center" FontWeight="Bold" Margin="5,0,0,0"/>
                                                        </StackPanel>
                                                        <StackPanel Orientation="Horizontal" Grid.Row="0" Grid.Column="1">
                                                            <Label Content="MediaType:" VerticalAlignment="Center" FontWeight="Normal"/>
                                                            <TextBlock Text="{Binding Path=MediaType}" Style="{StaticResource TempMediaType}"/>
                                                        </StackPanel>
                                                        <StackPanel Orientation="Horizontal" Grid.Row="0" Grid.Column="2">
                                                            <Label Content="BuyType:" VerticalAlignment="Center" FontWeight="Normal"/>
                                                            <TextBlock Text="{Binding Path=BusType}" Style="{StaticResource TempBusType}" />
                                                        </StackPanel>
                                                        <TextBox x:Name="Path_TextBox" Grid.Column="3" Text="{Binding Path=DirectoryPath}" HorizontalAlignment="Stretch" HorizontalContentAlignment="Left"/>
                                                    </Grid>
                                                </DataTemplate>
                                            </ComboBox.ItemTemplate>
                                        </ComboBox>
                                        <Button x:Name="RemoveTempVolumeButton" Content="Clear" Grid.Column="2" Margin="5" Padding="5,0,5,0"/>
                                        <CheckBox IsChecked="{Binding Path=NewChiaJob.IgnoreMaxParallel}" IsThreeState="False"
                                            MaxWidth="160" VerticalContentAlignment="Center" Grid.Column="3"
                                            ToolTip="example - You will be able to plot 4 parallel plots on a 1 TB drive instead of 3 (do this at your own risk) - Applies to all temp drives">
                                            <TextBox Text="Ignore MaxParallel" IsReadOnly="True" TextAlignment="Center" BorderThickness="0" TextWrapping="Wrap"/>
                                        </CheckBox>
                                    </Grid>
 
                                    <ComboBox x:Name="TempDir_ComboBox" Grid.Row="1" Grid.Column="2"
                                        ItemsSource="{Binding Path=TempAvailableVolumes}">
                                        <ComboBox.ItemTemplate>
                                            <DataTemplate>
                                                <Grid>
                                                    <Grid.ColumnDefinitions>
                                                        <ColumnDefinition Width="auto" />
                                                        <ColumnDefinition Width="*" />
                                                        <ColumnDefinition Width="*" />
                                                        <ColumnDefinition Width="*" />
                                                    </Grid.ColumnDefinitions>
                                                    <Grid.RowDefinitions>
                                                        <RowDefinition Height="*" />
                                                    </Grid.RowDefinitions>
 
                                                    <StackPanel Orientation="Horizontal" Grid.Column="0" Grid.Row="0">
                                                        <TextBlock Text="{Binding Path=DriveLetter, StringFormat={}{0} - }" VerticalAlignment="Center" FontWeight="Bold" Margin="5,0,0,0"/>
                                                    </StackPanel>
                                                    <StackPanel Orientation="Horizontal" Grid.Row="0" Grid.Column="1">
                                                        <Label Content="MediaType:" VerticalAlignment="Center" FontWeight="Normal"/>
                                                        <TextBlock Text="{Binding Path=MediaType}" Style="{StaticResource TempMediaType}"/>
                                                    </StackPanel>
                                                    <StackPanel Orientation="Horizontal" Grid.Row="0" Grid.Column="2">
                                                        <Label Content="BuyType:" VerticalAlignment="Center" FontWeight="Normal"/>
                                                        <TextBlock Text="{Binding Path=BusType}" Style="{StaticResource TempBusType}" />
                                                    </StackPanel>
                                                    <StackPanel Orientation="Horizontal" Grid.Row="0" Grid.Column="3">
                                                        <Label Content="Max Parallel: " VerticalAlignment="Center" FontWeight="Normal"/>
                                                        <TextBlock Text="{Binding Path=MaxConCurrentTempChiaRuns}" VerticalAlignment="Center"/>
                                                    </StackPanel>
                                                </Grid>
                                            </DataTemplate>
                                        </ComboBox.ItemTemplate>
                                    </ComboBox>
 
                                    <Button x:Name="TempDriveAdd_Button" Content="Add"
                                        Grid.Column="3" Grid.Row="1" VerticalAlignment="Center"
                                        Padding="5,5,5,5" Margin="0,5,5,5"
                                        CommandParameter="{Binding ElementName=TempDir_ComboBox, Path=SelectedItem}"
                                        Command="{Binding Path=AddTempVolumeCommand}"/>
 
                                    <ListBox x:Name="TempVolume_ListBox"
                                         Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="3" ItemsSource="{Binding Path=NewChiaJob.TempVolumes}"
                                         Margin="5" ScrollViewer.HorizontalScrollBarVisibility="Disabled" HorizontalContentAlignment="Stretch">
                                        <ListBox.ItemTemplate>
                                            <DataTemplate>
                                                <Border BorderBrush="SlateGray" BorderThickness="1">
                                                    <Grid>
                                                        <Grid.ColumnDefinitions>
                                                            <ColumnDefinition Width="1" />
                                                            <ColumnDefinition Width="auto" />
                                                            <ColumnDefinition Width="auto" />
                                                            <ColumnDefinition Width="*" />
                                                            <ColumnDefinition Width="auto" />
                                                            <ColumnDefinition Width="1" />
                                                        </Grid.ColumnDefinitions>
                                                        <Grid.RowDefinitions>
                                                            <RowDefinition Height="1" />
                                                            <RowDefinition Height="*" />
                                                            <RowDefinition Height="1" />
                                                        </Grid.RowDefinitions>
                                                        <Label Content="{Binding Path=DriveLetter}"
                                                           Grid.Row="1" Grid.Column="1"
                                                           Margin="5" FontSize="11" FontWeight="Bold"
                                                           VerticalAlignment="Center" HorizontalAlignment="Center" BorderThickness="1"
                                                           BorderBrush="Black" Foreground="DarkBlue" ToolTip="Drive Letter"/>
                                                        <Label Content="Path: " Grid.Row="1" Grid.Column="2" />
                                                        <TextBox x:Name="Path_TextBox" Grid.Row="1" Grid.Column="3" Text="{Binding Path=DirectoryPath}" HorizontalAlignment="Stretch" HorizontalContentAlignment="Left"/>
                                                        <Button Content="Remove" Grid.Column="4" Grid.Row="1" BorderThickness="1" Background="Transparent" BorderBrush="Pink" Foreground="Red" Margin="5"
                                                        CommandParameter="{Binding}" Command="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListBox}}, Path=DataContext.RemoveTempVolumeCommand}"/>
                                                    </Grid>
                                                </Border>
                                            </DataTemplate>
                                        </ListBox.ItemTemplate>
                                    </ListBox>
                                </Grid>
                            </TabItem>
                            <TabItem Header="Final Drives / Logging">
                                <Grid>
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="5" />
                                        <ColumnDefinition Width="auto" />
                                        <ColumnDefinition Width="*" />
                                        <ColumnDefinition Width="auto" />
                                        <ColumnDefinition Width="5" />
                                    </Grid.ColumnDefinitions>
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="5" />
                                        <RowDefinition Height="auto" />
                                        <RowDefinition Height="*" />
                                        <RowDefinition Height="auto" />
                                        <RowDefinition Height="auto" />
                                    </Grid.RowDefinitions>
 
                                    <Label Content="Final Drives: " Grid.Column="1" Grid.Row="1" Margin="5"/>
 
                                    <ComboBox x:Name="FinalDir_ComboBox" Grid.Row="1" Grid.Column="2"
                                      ItemsSource="{Binding Path=FinalAvailableVolumes}">
                                        <ComboBox.ItemTemplate>
                                            <DataTemplate>
                                                <Grid>
                                                    <Grid.ColumnDefinitions>
                                                        <ColumnDefinition Width="auto" />
                                                        <ColumnDefinition Width="*" />
                                                        <ColumnDefinition Width="*" />
                                                        <ColumnDefinition Width="*" />
                                                    </Grid.ColumnDefinitions>
                                                    <Grid.RowDefinitions>
                                                        <RowDefinition Height="*" />
                                                    </Grid.RowDefinitions>
 
                                                    <StackPanel Orientation="Horizontal" Grid.Column="0" Grid.Row="0">
                                                        <TextBlock Text="{Binding Path=DriveLetter, StringFormat={}{0} - }" VerticalAlignment="Center" FontWeight="Bold" Margin="5,0,0,0"/>
                                                    </StackPanel>
                                                    <StackPanel Orientation="Horizontal" Grid.Row="0" Grid.Column="1">
                                                        <Label Content="MediaType:" VerticalAlignment="Center" FontWeight="Normal"/>
                                                        <TextBlock Text="{Binding Path=MediaType}" Style="{StaticResource FinalMediaType}"/>
                                                    </StackPanel>
                                                    <StackPanel Orientation="Horizontal" Grid.Row="0" Grid.Column="2">
                                                        <Label Content="BuyType:" VerticalAlignment="Center" FontWeight="Normal"/>
                                                        <TextBlock Text="{Binding Path=BusType}" Style="{StaticResource FinalBusType}" />
                                                    </StackPanel>
                                                    <StackPanel Orientation="Horizontal" Grid.Row="0" Grid.Column="3">
                                                        <Label Content="Potential Plots: " VerticalAlignment="Center" FontWeight="Normal"/>
                                                        <TextBlock Text="{Binding Path=PotentialFinalPlotsRemaining}" VerticalAlignment="Center"/>
                                                    </StackPanel>
                                                </Grid>
                                            </DataTemplate>
                                        </ComboBox.ItemTemplate>
                                    </ComboBox>
 
                                    <Button x:Name="FinalDir_Button" Content="Add" Grid.Column="3" Grid.Row="1"
                                                                                Padding="5,5,5,5" Margin="0,5,5,5" VerticalAlignment="Center"
                                        CommandParameter="{Binding ElementName=FinalDir_ComboBox, Path=SelectedItem}"
                                        Command="{Binding Path=AddFinalVolumeCommand}"/>
 
                                    <ListBox x:Name="FinalVolume_ListBox"
                                        Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="3" ItemsSource="{Binding Path=NewChiaJob.FinalVolumes}"
                                        Margin="5" ScrollViewer.HorizontalScrollBarVisibility="Disabled" HorizontalContentAlignment="Stretch">
                                        <ListBox.ItemTemplate>
                                            <DataTemplate>
                                                <Border BorderBrush="SlateGray" BorderThickness="1">
                                                    <Grid>
                                                        <Grid.ColumnDefinitions>
                                                            <ColumnDefinition Width="1" />
                                                            <ColumnDefinition Width="auto" />
                                                            <ColumnDefinition Width="auto" />
                                                            <ColumnDefinition Width="*" />
                                                            <ColumnDefinition Width="auto" />
                                                            <ColumnDefinition Width="1" />
                                                        </Grid.ColumnDefinitions>
                                                        <Grid.RowDefinitions>
                                                            <RowDefinition Height="1" />
                                                            <RowDefinition Height="*" />
                                                            <RowDefinition Height="1" />
                                                        </Grid.RowDefinitions>
                                                        <Label Content="{Binding Path=DriveLetter}"
                                                   Grid.Row="1" Grid.Column="1"
                                                   Margin="5" FontSize="10" FontWeight="Bold"
                                                   VerticalAlignment="Center" HorizontalAlignment="Center" BorderThickness="1"
                                                   BorderBrush="Black" Foreground="DarkBlue" ToolTip="Drive Letter"/>
                                                        <Label Content="Path: " Grid.Row="1" Grid.Column="2" />
                                                        <TextBox x:Name="FinalPath_TextBox" Grid.Row="1" Grid.Column="3" Text="{Binding Path=DirectoryPath}" HorizontalAlignment="Stretch" HorizontalContentAlignment="Left"/>
                                                        <Button Content="Remove" Grid.Column="4" Grid.Row="1" BorderThickness="1" Background="Transparent" BorderBrush="Pink" Foreground="Red" Margin="5"
                                                CommandParameter="{Binding}" Command="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListBox}}, Path=DataContext.RemoveFinalVolumeCommand}"/>
                                                    </Grid>
                                                </Border>
                                            </DataTemplate>
                                        </ListBox.ItemTemplate>
                                    </ListBox>
 
                                    <Grid Grid.Row="3" Grid.Column="1" Grid.ColumnSpan="3">
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="auto" />
                                            <ColumnDefinition Width="*" />
                                            <ColumnDefinition Width="auto" />
                                            <ColumnDefinition Width="auto" />
                                        </Grid.ColumnDefinitions>
 
                                        <Label Content="Log Directory: " Grid.Column="0"/>
 
                                        <TextBox x:Name="LogDir_TextBox" Grid.Column="1"
                                             Text="{Binding Path=NewChiaJob.InitialChiaParameters.LogDirectory}"
                                             HorizontalContentAlignment="Left"/>
                                        <CheckBox x:Name="EnableReplotCheckbox" Content="Enable Replot"
                                                  Grid.Column="2" IsThreeState="False"
                                                  IsChecked="{Binding Path=NewChiaJob.InitialChiaParameters.ReplotEnabled}"
                                                  VerticalAlignment="Center" />
                                        <Button x:Name="ReplotButton" Content="Replot Config" Grid.Column="4" Margin="5" Padding="2"
                                                IsEnabled="{Binding ElementName=EnableReplotCheckbox, Path=IsChecked}"/>
                                    </Grid>
                                </Grid>
                            </TabItem>
                        </TabControl>
                    </Grid>
                </GroupBox>
                <GroupBox Grid.Row="4" Grid.Column="1" Grid.ColumnSpan="2" Style="{StaticResource AddParamGroupbox}">
                    <GroupBox.Header>
                        <CheckBox x:Name="AdditionalParametersCheckBox" Content="Additional Parameters" IsChecked="True" IsThreeState="False" />
                    </GroupBox.Header>
                    <Grid IsEnabled="{Binding ElementName=AdditionalParametersCheckBox, Path=IsChecked}" Visibility="{Binding ElementName=AdditionalParametersCheckBox, Path=IsChecked, Converter={StaticResource BooleanToVisibilityConverter}}">
                        <Grid.Resources>
                            <Style x:Key="PoolKey" TargetType="TextBox">
                                <Setter Property="Margin" Value="5" />
                                <Style.Triggers>
                                    <DataTrigger Binding="{Binding ElementName=PoolContractAddressTextBox, Path=IsEnabled}" Value="True">
                                        <Setter Property="IsEnabled" Value="False" />
                                    </DataTrigger>
                                    <DataTrigger Binding="{Binding ElementName=PoolContractAddressTextBox, Path=IsEnabled}" Value="False">
                                        <Setter Property="IsEnabled" Value="True" />
                                    </DataTrigger>
                                </Style.Triggers>
                            </Style>
                        </Grid.Resources>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="5" />
                            <ColumnDefinition Width="auto" />
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="5" />
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="5" />
                            <RowDefinition Height="auto" />
                            <RowDefinition Height="auto" />
                            <RowDefinition Height="auto" />
                            <RowDefinition Height="auto" />
                            <RowDefinition Height="5" />
                        </Grid.RowDefinitions>
 
                        <CheckBox x:Name="PoolContractAddressCheckbox" Content="Pool Contract Address: "
                                  ToolTip="Used to make portable plots to join pools. Cannot use Pool Public Key when using this parameter."
                                  HorizontalAlignment="Right" VerticalAlignment="Center"
                                  Grid.Column="1" Grid.Row="1"
                                  IsChecked="{Binding Path=NewChiaJob.InitialChiaParameters.PoolContractEnabled}" IsThreeState="False"/>
                        <Label Content="Farmer Public Key:" HorizontalAlignment="Right" Grid.Column="1" Grid.Row="2" />
                        <Label Content="Pool Public Key:" HorizontalAlignment="Right" Grid.Column="1" Grid.Row="3" />
                        <CheckBox Content="Alternative Plotter Path: " IsThreeState="False"
                                  Grid.Column="1" Grid.Row="4"
                                  x:Name="AlternativePlotterCheckbox"
                                  IsChecked="{Binding Path=NewChiaJob.InitialChiaParameters.AlternativePlotterEnabled}"
                                  HorizontalAlignment="Right" VerticalAlignment="Center"
                                  ToolTip="The full path to the alternative plotter .exe file" />
 
                        <TextBox x:Name="PoolContractAddressTextBox" Grid.Row="1" Grid.Column="2" Text="{Binding Path=NewChiaJob.InitialChiaParameters.PoolContractAddress}" VerticalAlignment="Center" HorizontalContentAlignment="Left" IsEnabled="{Binding ElementName=PoolContractAddressCheckbox, Path=IsChecked}"/>
                        <TextBox x:Name="FarmerPublicKeyTextBox" Grid.Row="2" Grid.Column="2" Text="{Binding Path=NewChiaJob.InitialChiaParameters.FarmerPublicKey}" VerticalAlignment="Center" HorizontalContentAlignment="Left"/>
                        <TextBox x:Name="PoolPublicKeyTextBox" Grid.Row="3" Grid.Column="2" Text="{Binding Path=NewChiaJob.InitialChiaParameters.PoolPublicKey}" VerticalAlignment="Center" HorizontalContentAlignment="Left" Style="{StaticResource PoolKey}"/>
                        <TextBox x:Name="AlternativePlotterTextBox" Grid.Row="4" Grid.Column="2" Text="{Binding Path=NewChiaJob.InitialChiaParameters.AlternativePlotterPath}" VerticalAlignment="Center" HorizontalContentAlignment="Left" IsEnabled="{Binding ElementName=AlternativePlotterCheckbox, Path=IsChecked}" />
                    </Grid>
                </GroupBox>
            </Grid>
        </ScrollViewer>
        <Button x:Name="CreateJob_Button" Content="Start Job" Grid.Column="3" Grid.Row="3" Margin="5"/>
        <Button x:Name="CancelJobCreation_Button" Content="Cancel" Grid.Column="1" Grid.Row="3" Margin="5"/>
        <Button x:Name="SaveJob_Button" Content="Save Job" Grid.Column="2" Grid.Row="3" Margin="5"/>
 
    </Grid>
</Window>