using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Tango.Scripting { public class CompilerError { public String File { get; set; } public String Error { get; set; } public int Line { get; set; } public int Character { get; set; } public override string ToString() { return String.Format("{0} {1} ({2},{3})", Error, File, Line, Character); } } }
<UserControl x:Class="Tango.MachineStudio.MachineDesigner.Views.ConfigurationView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:dragAndDrop="clr-namespace:Tango.DragAndDrop;assembly=Tango.DragAndDrop"
             xmlns:global="clr-namespace:Tango.MachineStudio.MachineDesigner"
             xmlns:fa="http://schemas.fontawesome.io/icons/"
             xmlns:providers="clr-namespace:Tango.MachineStudio.MachineDesigner.AutoComplete"
             xmlns:autoComplete="clr-namespace:Tango.AutoComplete.Editors;assembly=Tango.AutoComplete"
             xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
             xmlns:sharedConverters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
             xmlns:vm="clr-namespace:Tango.MachineStudio.MachineDesigner.ViewModels"
             xmlns:local="clr-namespace:Tango.MachineStudio.MachineDesigner.Views"
             mc:Ignorable="d" 
             d:DesignHeight="720" d:DesignWidth="1280" Background="Transparent" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}">

    <UserControl.Resources>
        <sharedConverters:ColorToIntegerConverter x:Key="ColorToIntegerConverter" />

        <Style x:Key="draggableGrid" TargetType="Grid">
            <Setter Property="RenderTransform">
                <Setter.Value>
                    <ScaleTransform ScaleX="1" ScaleY="1"></ScaleTransform>
                </Setter.Value>
            </Setter>
            <Setter Property="RenderTransformOrigin" Value="0.5,0.5"></Setter>
            <Setter Property="Background" Value="Transparent"></Setter>
            <Setter Property="dragAndDrop:DragAndDropService.Draggable" Value="True"></Setter>
            <Setter Property="dragAndDrop:DragAndDropService.Droppable" Value="True"></Setter>
            <Setter Property="dragAndDrop:DragAndDropService.DraggingSurface" Value="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DraggingSurface}"></Setter>
            <Style.Triggers>
                <Trigger Property="dragAndDrop:DragAndDropService.IsDraggableOver" Value="True">
                    <Setter Property="Opacity" Value="0.5"></Setter>
                    <Trigger.EnterActions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation To="0.95" Duration="00:00:0.2" Storyboard.TargetProperty="RenderTransform.ScaleX"></DoubleAnimation>
                                <DoubleAnimation To="0.95" Duration="00:00:0.2" Storyboard.TargetProperty="RenderTransform.ScaleY"></DoubleAnimation>
                            </Storyboard>
                        </BeginStoryboard>
                    </Trigger.EnterActions>
                    <Trigger.ExitActions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation To="1" Duration="00:00:0.2" Storyboard.TargetProperty="RenderTransform.ScaleX"></DoubleAnimation>
                                <DoubleAnimation To="1" Duration="00:00:0.2" Storyboard.TargetProperty="RenderTransform.ScaleY"></DoubleAnimation>
                            </Storyboard>
                        </BeginStoryboard>
                    </Trigger.ExitActions>
                </Trigger>
            </Style.Triggers>
        </Style>

        <Style TargetType="Expander" BasedOn="{StaticResource {x:Type Expander}}">
            <Setter Property="HeaderTemplate">
                <Setter.Value>
                    <DataTemplate>
                        <TextBlock Text="{Binding}" FontSize="13"></TextBlock>
                    </DataTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </UserControl.Resources>

    <Grid>
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="477*"/>
                <ColumnDefinition Width="310" x:FieldModifier="public" x:Name="panelColumnDefinition" />
            </Grid.ColumnDefinitions>

            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="200"/>
                    <ColumnDefinition Width="1*"/>
                </Grid.ColumnDefinitions>

                <Grid Grid.Column="1">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="90"/>
                        <RowDefinition Height="631*"/>
                    </Grid.RowDefinitions>

                    <Grid ClipToBounds="False">

                    </Grid>

                    <Viewbox MaxWidth="1200" Grid.Row="1" >
                        <Grid VerticalAlignment="Top">

                            <Image IsHitTestVisible="False" Source="../Images/machine-full-fx.png" MaxWidth="800" RenderOptions.BitmapScalingMode="Fant">
                                <Image.Effect>
                                    <DropShadowEffect ShadowDepth="0" BlurRadius="20" Opacity="1" RenderingBias="Performance" Color="DimGray"></DropShadowEffect>
                                </Image.Effect>
                            </Image>

                            <Canvas ClipToBounds="False" x:Name="canvas">

                                <Grid x:Name="hardwareGrid" Style="{StaticResource draggableGrid}" Width="118" Height="27" Canvas.Left="342" Canvas.Top="80" Background="#6B303030" IsHitTestVisible="True" dragAndDrop:DragAndDropService.Drop="MachineDrop">
                                    <Border BorderBrush="#6C6C6C" BorderThickness="1" IsHitTestVisible="False">
                                        <StackPanel Orientation="Horizontal">
                                            <Image Source="../Images/hardware.png" Width="10" VerticalAlignment="Center" Margin="5" RenderOptions.BitmapScalingMode="Fant"></Image>
                                            <TextBlock Padding="2 0 2 0" VerticalAlignment="Center" TextAlignment="Center" Foreground="Gainsboro" IsHitTestVisible="False" FontSize="6" TextWrapping="Wrap">
                                            <Run Text="{Binding ActiveMachine.Configuration.HardwareVersion.Name}"></Run>
                                            <Run Text="{Binding ActiveMachine.Configuration.HardwareVersion.Version}"></Run>
                                            </TextBlock>
                                        </StackPanel>
                                    </Border>
                                </Grid>

                                <TextBlock Canvas.Left="532" FontStyle="Italic" Foreground="Gray" Canvas.Top="-22">Hardware Version</TextBlock>
                                <Grid Width="97" Height="90" Canvas.Left="431" Canvas.Top="-13">
                                    <Rectangle Stroke="Gray" VerticalAlignment="Top" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
                                    <Rectangle Stroke="Gray" HorizontalAlignment="Left" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
                                </Grid>

                                <TextBlock Canvas.Top="222" Canvas.Left="446" FontStyle="Italic" Foreground="Gray">Add IDS</TextBlock>
                                <Grid Width="23" Height="20" Canvas.Top="231" Canvas.Left="414">
                                    <Rectangle Stroke="Gray" VerticalAlignment="Top" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
                                    <Rectangle Stroke="Gray" HorizontalAlignment="Left" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
                                </Grid>

                                <TextBlock Canvas.Top="255" Canvas.Left="500" FontStyle="Italic" Foreground="Gray">Remove IDS</TextBlock>
                                <Grid Width="35" Height="8" Canvas.Top="264" Canvas.Left="460">
                                    <Rectangle Stroke="Gray" VerticalAlignment="Top" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
                                </Grid>

                                <Button Command="{Binding AddIdsCommand}" Style="{StaticResource MaterialDesignFlatButton}" Height="24" Width="24" Padding="0" Canvas.Left="402" Canvas.Top="253">
                                    <materialDesign:PackIcon Kind="Plus" Width="24" Height="24"></materialDesign:PackIcon>
                                </Button>

                                <Button Command="{Binding RemoveIdsCommand}" Style="{StaticResource MaterialDesignFlatButton}" Height="24" Width="24" Padding="0" Canvas.Left="430" Canvas.Top="252">
                                    <materialDesign:PackIcon Kind="Minus" Width="24" Height="24"></materialDesign:PackIcon>
                                </Button>

                                <UniformGrid Width="310" Canvas.Top="295" Canvas.Left="420" Rows="1" Columns="8" TextElement.FontSize="9">
                                    <TextBlock HorizontalAlignment="Center">1</TextBlock>
                                    <TextBlock HorizontalAlignment="Center">2</TextBlock>
                                    <TextBlock HorizontalAlignment="Center">3</TextBlock>
                                    <TextBlock HorizontalAlignment="Center">4</TextBlock>
                                    <TextBlock HorizontalAlignment="Center">5</TextBlock>
                                    <TextBlock HorizontalAlignment="Center">6</TextBlock>
                                    <TextBlock HorizontalAlignment="Center">7</TextBlock>
                                    <TextBlock HorizontalAlignment="Center">8</TextBlock>
                                </UniformGrid>
                                <Grid x:Name="gridIds" Width="310" Height="195" Canvas.Top="314" Canvas.Left="420">
                                    <ListBox ItemsSource="{Binding ActiveMachine.Configuration.IdsPacks}" SelectedItem="{Binding SelectedIds}" ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
                                        <ListBox.ItemContainerStyle>
                                            <Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
                                                <Setter Property="Padding" Value="0"></Setter>
                                                <Setter Property="VerticalContentAlignment" Value="Stretch"></Setter>
                                                <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
                                            </Style>
                                        </ListBox.ItemContainerStyle>
                                        <ItemsControl.ItemsPanel>
                                            <ItemsPanelTemplate>
                                                <UniformGrid Columns="8"></UniformGrid>
                                            </ItemsPanelTemplate>
                                        </ItemsControl.ItemsPanel>
                                        <ItemsControl.ItemTemplate>
                                            <DataTemplate>
                                                <Grid dragAndDrop:DragAndDropService.DraggableBorderBrush="{StaticResource AccentColorBrush}" dragAndDrop:DragAndDropService.Drop="OnDropOnIdsPack">
                                                    <Grid.RowDefinitions>
                                                        <RowDefinition Height="1*"/>
                                                        <RowDefinition Height="30"/>
                                                    </Grid.RowDefinitions>
                                                    <Grid.Style>
                                                        <Style TargetType="Grid" BasedOn="{StaticResource draggableGrid}">
                                                            <Style.Triggers>

                                                            </Style.Triggers>
                                                        </Style>
                                                    </Grid.Style>
                                                    <UniformGrid Columns="1" Rows="2">
                                                        <Grid Margin="2">
                                                            <Image IsHitTestVisible="False" Source="../Images/dispenser.png" RenderOptions.BitmapScalingMode="Fant">
                                                                <Image.Style>
                                                                    <Style TargetType="Image">
                                                                        <Style.Triggers>
                                                                            <DataTrigger Binding="{Binding Dispenser}" Value="{x:Null}">
                                                                                <Setter Property="Opacity" Value="0.2"></Setter>
                                                                            </DataTrigger>
                                                                        </Style.Triggers>
                                                                    </Style>
                                                                </Image.Style>
                                                            </Image>
                                                            <Rectangle IsHitTestVisible="False" Margin="14 25 13 34">
                                                                <Rectangle.Fill>
                                                                    <LinearGradientBrush StartPoint="0,0" EndPoint="0,0.8" Opacity="0.8">
                                                                        <GradientStop Offset="0" Color="Transparent" />
                                                                        <GradientStop Offset="1" Color="{Binding LiquidType.Color,Converter={StaticResource ColorToIntegerConverter}}"/>
                                                                    </LinearGradientBrush>
                                                                </Rectangle.Fill>
                                                            </Rectangle>
                                                        </Grid>

                                                        <Grid Margin="2">
                                                            <Image IsHitTestVisible="False" Stretch="Fill" Source="../Images/mid-tank.png" RenderOptions.BitmapScalingMode="Fant">
                                                                <Image.Style>
                                                                    <Style TargetType="Image">
                                                                        <Style.Triggers>
                                                                            <DataTrigger Binding="{Binding MidTankType}" Value="{x:Null}">
                                                                                <Setter Property="Opacity" Value="0.2"></Setter>
                                                                            </DataTrigger>
                                                                        </Style.Triggers>
                                                                    </Style>
                                                                </Image.Style>
                                                            </Image>
                                                            <Rectangle IsHitTestVisible="False" Margin="4 25 4 1">
                                                                <Rectangle.Fill>
                                                                    <LinearGradientBrush StartPoint="0,0" EndPoint="0,0.8" Opacity="0.8">
                                                                        <GradientStop Offset="0" Color="Transparent" />
                                                                        <GradientStop Offset="1" Color="{Binding LiquidType.Color,Converter={StaticResource ColorToIntegerConverter}}"/>
                                                                    </LinearGradientBrush>
                                                                </Rectangle.Fill>
                                                            </Rectangle>

                                                            <TextBlock Text="{Binding IdsPackFormula.Name}" TextWrapping="Wrap" Height="30" IsHitTestVisible="False" Width="50" Margin="-20 15 0 0" FontSize="7" TextAlignment="Center" RenderTransformOrigin="0.5,0.5" Foreground="White" HorizontalAlignment="Center" VerticalAlignment="Center">
                                                                <TextBlock.LayoutTransform>
                                                                    <RotateTransform Angle="90" />
                                                                </TextBlock.LayoutTransform>
                                                            </TextBlock>
                                                        </Grid>
                                                    </UniformGrid>

                                                    <Grid Grid.Row="1" Margin="3" IsHitTestVisible="False">
                                                        <Grid.Style>
                                                            <Style TargetType="Grid">
                                                                <Style.Triggers>
                                                                    <DataTrigger Binding="{Binding CartridgeType}" Value="{x:Null}">
                                                                        <Setter Property="Opacity" Value="0.2"></Setter>
                                                                    </DataTrigger>
                                                                </Style.Triggers>
                                                            </Style>
                                                        </Grid.Style>
                                                        <Border BorderBrush="#252525" BorderThickness="1" CornerRadius="3">
                                                            <Border.Background>
                                                                <LinearGradientBrush>
                                                                    <GradientStop Color="#FF252525"/>
                                                                    <GradientStop Color="#FF838383" Offset="1"/>
                                                                </LinearGradientBrush>
                                                            </Border.Background>
                                                        </Border>
                                                        <Border BorderBrush="#252525" BorderThickness="1" CornerRadius="3">
                                                            <Border.Background>
                                                                <LinearGradientBrush Opacity="0.7">
                                                                    <GradientStop Offset="0" Color="Transparent" />
                                                                    <GradientStop Offset="1" Color="{Binding LiquidType.Color,Converter={StaticResource ColorToIntegerConverter}}"/>
                                                                </LinearGradientBrush>
                                                            </Border.Background>
                                                        </Border>
                                                    </Grid>
                                                </Grid>
                                            </DataTemplate>
                                        </ItemsControl.ItemTemplate>
                                    </ListBox>

                                    <Grid Margin="0 50 0 0">
                                        <Grid.Style>
                                            <Style TargetType="Grid">
                                                <Setter Property="Visibility" Value="Hidden"></Setter>
                                                <Style.Triggers>
                                                    <DataTrigger Binding="{Binding ActiveMachine.Configuration.IdsPacks.Count}" Value="0">
                                                        <Setter Property="Visibility" Value="Visible"></Setter>
                                                    </DataTrigger>
                                                </Style.Triggers>
                                            </Style>
                                        </Grid.Style>
                                        <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="20" FontWeight="Bold" Foreground="Gainsboro">NO IDS PACKS</TextBlock>
                                    </Grid>

                                    <Rectangle VerticalAlignment="Bottom" Stroke="DimGray" StrokeThickness="1">
                                        <Rectangle.Effect>
                                            <DropShadowEffect ShadowDepth="1" Opacity="1" Color="Black" />
                                        </Rectangle.Effect>
                                    </Rectangle>
                                </Grid>

                                <Grid x:Name="gridEmbedded" Style="{StaticResource draggableGrid}" Width="70" Height="100" Canvas.Left="80" Canvas.Top="331" IsHitTestVisible="True" SnapsToDevicePixels="True" dragAndDrop:DragAndDropService.Drop="OnEmbeddedDrop">
                                    <Image Source="../Images/ti-tm4c129x.png" RenderOptions.BitmapScalingMode="Fant"></Image>
                                </Grid>

                                <Grid Width="61" IsHitTestVisible="True" SnapsToDevicePixels="True" ClipToBounds="True" Height="42" Canvas.Left="85" Canvas.Top="385">
                                    <StackPanel Orientation="Horizontal">
                                        <Image Source="../Images/embedded.png" Width="10" VerticalAlignment="Center" Margin="1" RenderOptions.BitmapScalingMode="Fant"></Image>
                                        <TextBlock VerticalAlignment="Center" Padding="1" Foreground="Gainsboro"  IsHitTestVisible="False" FontSize="5" TextAlignment="Center" TextWrapping="Wrap" Height="15" Margin="0,6,0,0" Width="47"><Run Text="{Binding ActiveMachine.Configuration.EmbeddedFirmwareVersion.Name}"/><Run Text=" "/><Run Text="{Binding ActiveMachine.Configuration.EmbeddedFirmwareVersion.Version}"/></TextBlock>
                                    </StackPanel>
                                </Grid>

                                <TextBlock Canvas.Top="163" Canvas.Left="288" FontStyle="Italic" Foreground="Gray">Touch Panel</TextBlock>
                                <Grid Width="53" Height="55" Canvas.Top="184" Canvas.Left="279">
                                    <Rectangle Stroke="Gray" VerticalAlignment="Bottom" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
                                    <Rectangle Stroke="Gray" HorizontalAlignment="Right" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
                                </Grid>

                                <TextBlock Canvas.Top="441" Canvas.Left="156" FontStyle="Italic" Foreground="Gray">Embedded Firmware</TextBlock>
                                <Grid Width="82" Height="26" Canvas.Top="410" Canvas.Left="158">
                                    <Rectangle Stroke="Gray" VerticalAlignment="Top" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
                                    <Rectangle Stroke="Gray" HorizontalAlignment="Right" StrokeThickness="1" StrokeDashArray="6" RenderTransformOrigin="0.5,0.5"/>
                                </Grid>

                                <TextBlock Canvas.Top="310" Canvas.Left="340" FontStyle="Italic" Foreground="Gray">Dispensers</TextBlock>
                                <Grid Width="53" Height="20" Canvas.Top="331" Canvas.Left="377">
                                    <Rectangle Stroke="Gray" VerticalAlignment="Bottom" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
                                    <Rectangle Stroke="Gray" HorizontalAlignment="Left" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
                                </Grid>

                                <TextBlock Canvas.Top="395" Canvas.Left="331" FontStyle="Italic" Foreground="Gray">Mid Tanks</TextBlock>
                                <Grid Width="62" Height="29" Canvas.Top="418" Canvas.Left="357">
                                    <Rectangle Stroke="Gray" VerticalAlignment="Bottom" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
                                    <Rectangle Stroke="Gray" HorizontalAlignment="Left" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
                                </Grid>

                                <TextBlock Canvas.Top="469" Canvas.Left="304" FontStyle="Italic" Foreground="Gray">Cartridges</TextBlock>
                                <Grid Width="87" Height="10" Canvas.Top="487" Canvas.Left="332">
                                    <Rectangle Stroke="Gray" VerticalAlignment="Bottom" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
                                    <Rectangle Stroke="Gray" HorizontalAlignment="Left" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
                                </Grid>

                                <Grid x:Name="gridTablet" Width="67" IsHitTestVisible="True" SnapsToDevicePixels="True" ClipToBounds="True" Height="90" Canvas.Left="188" Canvas.Top="198" dragAndDrop:DragAndDropService.Drop="OnTabletDrop" dragAndDrop:DragAndDropService.DraggableBorderBrush="{StaticResource AccentColorBrush}" dragAndDrop:DragAndDropService.DraggableBackground="#151515">
                                    <Grid.Style>
                                        <Style TargetType="Grid" BasedOn="{StaticResource draggableGrid}">
                                            <Setter Property="Background" Value="#2B2B2B"></Setter>
                                            <Style.Triggers>
                                                <Trigger Property="dragAndDrop:DragAndDropService.IsDraggableOver" Value="True">
                                                    <Setter Property="Background" Value="Black"></Setter>
                                                </Trigger>
                                            </Style.Triggers>
                                        </Style>
                                    </Grid.Style>
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="1*" />
                                        <RowDefinition Height="1*" />
                                        <RowDefinition Height="1*" />
                                    </Grid.RowDefinitions>

                                    <StackPanel>
                                        <Image Source="../Images/tablet.png" Width="10" Margin="2" RenderOptions.BitmapScalingMode="Fant"></Image>
                                        <TextBlock Padding="2 0 2 0" Foreground="Gainsboro"  IsHitTestVisible="False" FontSize="6" TextAlignment="Center" TextWrapping="Wrap">
                                        <Run Text="{Binding ActiveMachine.Configuration.ApplicationDisplayPanelVersion.Name}"></Run>
                                        <Run Text="{Binding ActiveMachine.Configuration.ApplicationDisplayPanelVersion.Version}"></Run>
                                        </TextBlock>
                                    </StackPanel>


                                    <StackPanel Grid.Row="1" >
                                        <Image Source="../Images/application-firmware.png" Width="10" Margin="2" RenderOptions.BitmapScalingMode="Fant"></Image>
                                        <TextBlock Padding="2 0 2 0" IsHitTestVisible="False" Foreground="Gainsboro" FontSize="6" TextAlignment="Center" TextWrapping="Wrap">
                                        <Run Text="{Binding ActiveMachine.Configuration.ApplicationFirmwareVersion.Name}"></Run>
                                        <Run Text="{Binding ActiveMachine.Configuration.ApplicationFirmwareVersion.Version}"></Run>
                                        </TextBlock>
                                    </StackPanel>

                                    <StackPanel Grid.Row="2" >
                                        <Image Source="../Images/android.png" Width="10" Margin="2" RenderOptions.BitmapScalingMode="Fant"></Image>
                                        <TextBlock Padding="2 0 2 0" IsHitTestVisible="False" Foreground="Gainsboro" FontSize="6" TextAlignment="Center" TextWrapping="Wrap">
                                        <Run Text="{Binding ActiveMachine.Configuration.ApplicationOsVersion.Name}"></Run>
                                        <Run Text="{Binding ActiveMachine.Configuration.ApplicationOsVersion.Version}"></Run>
                                        </TextBlock>
                                    </StackPanel>
                                </Grid>
                            </Canvas>
                        </Grid>
                    </Viewbox>
                </Grid>


                <Grid>
                    <TextBlock Margin="10" FontStyle="Italic" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Top" Foreground="Gray" FontSize="16">IDS PACKS</TextBlock>
                    <ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
                        <ItemsControl ItemsSource="{Binding ActiveMachine.Configuration.IdsPacks}" FontSize="10" Foreground="DimGray" Margin="10 30 10 10">
                            <ItemsControl.ItemTemplate>
                                <DataTemplate>
                                    <StackPanel>
                                        <TextBlock FontWeight="Bold" FontSize="12" Margin="5">
                                            <Run>PACK: #</Run><Run Text="{Binding PackIndex}"></Run>
                                        </TextBlock>
                                        <StackPanel Margin="20 0 0 0">
                                            <StackPanel Orientation="Horizontal" Margin="0 3 0 3">
                                                <Image RenderOptions.BitmapScalingMode="Fant" Source="../Images/injection.png" Width="12" VerticalAlignment="Center"></Image>
                                                <TextBlock Margin="5 0 0 0" VerticalAlignment="Center"><Run FontWeight="Bold">Dispenser:</Run> <Run FontStyle="Italic" Text="{Binding Dispenser.SerialNumber}"></Run></TextBlock>
                                            </StackPanel>
                                            <StackPanel Orientation="Horizontal" Margin="0 3 0 3">
                                                <Image RenderOptions.BitmapScalingMode="Fant" Source="../Images/tank.png" Width="12" VerticalAlignment="Center"></Image>
                                                <TextBlock Margin="5 0 0 0" VerticalAlignment="Center"><Run FontWeight="Bold">Mid Tank:</Run> <Run FontStyle="Italic" Text="{Binding MidTankType.Name}"></Run></TextBlock>
                                            </StackPanel>
                                            <StackPanel Orientation="Horizontal" Margin="0 3 0 3">
                                                <Image RenderOptions.BitmapScalingMode="Fant" Source="../Images/cartridge.png" Width="12" VerticalAlignment="Center"></Image>
                                                <TextBlock Margin="5 0 0 0" VerticalAlignment="Center"><Run FontWeight="Bold">Cartridge:</Run> <Run FontStyle="Italic" Text="{Binding CartridgeType.Name}"></Run></TextBlock>
                                            </StackPanel>
                                            <StackPanel Orientation="Horizontal" Margin="0 3 0 3">
                                                <Image RenderOptions.BitmapScalingMode="Fant" Source="../Images/liquid.png" Width="12" VerticalAlignment="Center"></Image>
                                                <TextBlock Margin="5 0 0 0" VerticalAlignment="Center"><Run FontWeight="Bold">Liquid:</Run> <Run FontStyle="Italic" Text="{Binding LiquidType.Name}"></Run></TextBlock>
                                            </StackPanel>
                                            <StackPanel Orientation="Horizontal" Margin="0 3 0 3">
                                                <Image RenderOptions.BitmapScalingMode="Fant" Source="../Images/formula.png" Width="12" VerticalAlignment="Center"></Image>
                                                <TextBlock Margin="5 0 0 0" VerticalAlignment="Center"><Run FontWeight="Bold">Formula:</Run> <Run FontStyle="Italic" Text="{Binding IdsPackFormula.Name}"></Run></TextBlock>
                                            </StackPanel>
                                        </StackPanel>
                                    </StackPanel>
                                </DataTemplate>
                            </ItemsControl.ItemTemplate>
                        </ItemsControl>
                    </ScrollViewer>

                    <Rectangle HorizontalAlignment="Right" Margin="0 20 0 20" Stroke="Gainsboro" StrokeThickness="1" StrokeDashArray="5 5 5 5"></Rectangle>
                </Grid>
            </Grid>

            <Grid Grid.Column="1" IsEnabled="{Binding CanWork}">
                <Grid.RowDefinitions>
                    <RowDefinition/>
                    <RowDefinition Height="80"/>
                </Grid.RowDefinitions>
                <ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
                    <Grid>
                        <StackPanel>
                            <materialDesign:Card Margin="5,10,5,0" Background="{DynamicResource MaterialDesignBackground}">
                                <StackPanel>
                                    <Expander HorizontalAlignment="Stretch" Header="Dispensers">
                                        <StackPanel>
                                            <DockPanel>
                                                <materialDesign:PackIcon Width="24" Height="24" Kind="BarcodeScan" VerticalAlignment="Center" />
                                                <TextBox Margin="5 0 0 0" materialDesign:HintAssist.Hint="Serial Number" Text="{Binding DispensersFilter,UpdateSourceTrigger=PropertyChanged}"></TextBox>
                                            </DockPanel>
                                            <ListBox Margin="0 10 0 20" ItemsSource="{Binding ActiveMachineAdapter.Dispensers}" HorizontalContentAlignment="Stretch" Height="200">
                                                <ListBox.ItemContainerStyle>
                                                    <Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
                                                        <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
                                                        <Setter Property="VerticalContentAlignment" Value="Stretch"></Setter>
                                                        <Setter Property="Padding" Value="1"></Setter>
                                                    </Style>
                                                </ListBox.ItemContainerStyle>
                                                <ListBox.ItemTemplate>
                                                    <DataTemplate>
                                                        <Grid Background="Transparent" IsHitTestVisible="True" dragAndDrop:DragAndDropService.DraggableBorderBrush="{StaticResource AccentColorBrush}" dragAndDrop:DragAndDropService.Draggable="True" dragAndDrop:DragAndDropService.DraggingSurface="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DraggingSurface}">
                                                            <StackPanel Orientation="Horizontal" Margin="2 8">
                                                                <Image IsHitTestVisible="False" Width="24" Height="24" Source="../Images/injection.png" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant"></Image>
                                                                <StackPanel Margin="5 0 0 0" IsHitTestVisible="False">
                                                                    <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="DimGray"><Run Text="{Binding SerialNumber}"></Run></TextBlock>
                                                                </StackPanel>
                                                            </StackPanel>

                                                            <Rectangle Margin="0 10 0 0" VerticalAlignment="Bottom" Stroke="Gainsboro" StrokeThickness="1"></Rectangle>
                                                        </Grid>
                                                    </DataTemplate>
                                                </ListBox.ItemTemplate>
                                            </ListBox>
                                        </StackPanel>
                                    </Expander>
                                    <Border Height="1" HorizontalAlignment="Stretch" Background="{DynamicResource MaterialDesignDivider}" SnapsToDevicePixels="True" />
                                    <Expander HorizontalAlignment="Stretch" Header="Mid Tanks">
                                        <ListBox ItemsSource="{Binding ActiveMachineAdapter.MidTankTypes}" HorizontalContentAlignment="Stretch">
                                            <ListBox.ItemContainerStyle>
                                                <Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
                                                    <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
                                                    <Setter Property="VerticalContentAlignment" Value="Stretch"></Setter>
                                                    <Setter Property="Padding" Value="1"></Setter>
                                                </Style>
                                            </ListBox.ItemContainerStyle>
                                            <ListBox.ItemTemplate>
                                                <DataTemplate>
                                                    <Grid Background="Transparent" IsHitTestVisible="True" dragAndDrop:DragAndDropService.DraggableBorderBrush="{StaticResource AccentColorBrush}" dragAndDrop:DragAndDropService.Draggable="True" dragAndDrop:DragAndDropService.DraggingSurface="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DraggingSurface}">
                                                        <StackPanel Orientation="Horizontal" Margin="2 8">
                                                            <Image IsHitTestVisible="False" Width="24" Height="24" Source="../Images/tank.png" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant"></Image>
                                                            <StackPanel Margin="5 0 0 0" IsHitTestVisible="False">
                                                                <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="DimGray"><Run Text="{Binding Name}"></Run></TextBlock>
                                                            </StackPanel>
                                                        </StackPanel>

                                                        <Rectangle Margin="0 10 0 0" VerticalAlignment="Bottom" Stroke="Gainsboro" StrokeThickness="1"></Rectangle>
                                                    </Grid>
                                                </DataTemplate>
                                            </ListBox.ItemTemplate>
                                        </ListBox>
                                    </Expander>
                                    <Border Height="1" HorizontalAlignment="Stretch" Background="{DynamicResource MaterialDesignDivider}" SnapsToDevicePixels="True" />
                                    <Expander HorizontalAlignment="Stretch" Header="Cartridges">
                                        <ListBox ItemsSource="{Binding ActiveMachineAdapter.CartridgeTypes}" HorizontalContentAlignment="Stretch">
                                            <ListBox.ItemContainerStyle>
                                                <Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
                                                    <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
                                                    <Setter Property="VerticalContentAlignment" Value="Stretch"></Setter>
                                                    <Setter Property="Padding" Value="1"></Setter>
                                                </Style>
                                            </ListBox.ItemContainerStyle>
                                            <ListBox.ItemTemplate>
                                                <DataTemplate>
                                                    <Grid Background="Transparent" IsHitTestVisible="True" dragAndDrop:DragAndDropService.DraggableBorderBrush="{StaticResource AccentColorBrush}" dragAndDrop:DragAndDropService.Draggable="True" dragAndDrop:DragAndDropService.DraggingSurface="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DraggingSurface}">
                                                        <StackPanel Orientation="Horizontal" Margin="2 8">
                                                            <Image IsHitTestVisible="False" Width="24" Height="24" Source="../Images/cartridge.png" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant"></Image>
                                                            <StackPanel Margin="5 0 0 0" IsHitTestVisible="False">
                                                                <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="DimGray"><Run Text="{Binding Name}"></Run></TextBlock>
                                                            </StackPanel>
                                                        </StackPanel>

                                                        <Rectangle Margin="0 10 0 0" VerticalAlignment="Bottom" Stroke="Gainsboro" StrokeThickness="1"></Rectangle>
                                                    </Grid>
                                                </DataTemplate>
                                            </ListBox.ItemTemplate>
                                        </ListBox>
                                    </Expander>
                                    <Border Height="1" HorizontalAlignment="Stretch" Background="{DynamicResource MaterialDesignDivider}" SnapsToDevicePixels="True" />
                                    <Expander HorizontalAlignment="Stretch" Header="Liquids">
                                        <ListBox ItemsSource="{Binding ActiveMachineAdapter.LiquidTypes}" HorizontalContentAlignment="Stretch">
                                            <ListBox.ItemContainerStyle>
                                                <Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
                                                    <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
                                                    <Setter Property="VerticalContentAlignment" Value="Stretch"></Setter>
                                                    <Setter Property="Padding" Value="1"></Setter>
                                                </Style>
                                            </ListBox.ItemContainerStyle>
                                            <ListBox.ItemTemplate>
                                                <DataTemplate>
                                                    <Grid Background="Transparent" IsHitTestVisible="True" dragAndDrop:DragAndDropService.DraggableBorderBrush="{StaticResource AccentColorBrush}" dragAndDrop:DragAndDropService.Draggable="True" dragAndDrop:DragAndDropService.DraggingSurface="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DraggingSurface}">
                                                        <StackPanel Orientation="Horizontal" Margin="2 8">
                                                            <Image IsHitTestVisible="False" Width="24" Height="24" Source="../Images/liquid.png" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant"></Image>
                                                            <StackPanel Margin="5 0 0 0" IsHitTestVisible="False">
                                                                <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="DimGray"><Run Text="{Binding Name}"></Run></TextBlock>
                                                                <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="DimGray"><Run>v</Run><Run Text="{Binding Version}"></Run></TextBlock>
                                                                <Rectangle Height="5" Width="170">
                                                                    <Rectangle.Fill>
                                                                        <SolidColorBrush Color="{Binding Color,Converter={StaticResource ColorToIntegerConverter}}"></SolidColorBrush>
                                                                    </Rectangle.Fill>
                                                                </Rectangle>
                                                            </StackPanel>
                                                        </StackPanel>

                                                        <Rectangle Margin="0 10 0 0" VerticalAlignment="Bottom" Stroke="Gainsboro" StrokeThickness="1"></Rectangle>
                                                    </Grid>
                                                </DataTemplate>
                                            </ListBox.ItemTemplate>
                                        </ListBox>
                                    </Expander>
                                    <Border Height="1" HorizontalAlignment="Stretch" Background="{DynamicResource MaterialDesignDivider}" SnapsToDevicePixels="True" />
                                    <Expander HorizontalAlignment="Stretch" Header="IDS Pack Formulas">
                                        <ListBox ItemsSource="{Binding ActiveMachineAdapter.IdsPackFormulas}" HorizontalContentAlignment="Stretch">
                                            <ListBox.ItemContainerStyle>
                                                <Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
                                                    <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
                                                    <Setter Property="VerticalContentAlignment" Value="Stretch"></Setter>
                                                    <Setter Property="Padding" Value="1"></Setter>
                                                </Style>
                                            </ListBox.ItemContainerStyle>
                                            <ListBox.ItemTemplate>
                                                <DataTemplate>
                                                    <Grid Background="Transparent" IsHitTestVisible="True" dragAndDrop:DragAndDropService.DraggableBorderBrush="{StaticResource AccentColorBrush}" dragAndDrop:DragAndDropService.Draggable="True" dragAndDrop:DragAndDropService.DraggingSurface="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DraggingSurface}">
                                                        <StackPanel Orientation="Horizontal" Margin="2 8">
                                                            <Image IsHitTestVisible="False" Width="24" Height="24" Source="../Images/formula.png" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant"></Image>
                                                            <StackPanel Margin="5 0 0 0" IsHitTestVisible="False">
                                                                <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="DimGray"><Run Text="{Binding Name}"></Run></TextBlock>
                                                            </StackPanel>
                                                        </StackPanel>

                                                        <Rectangle Margin="0 10 0 0" VerticalAlignment="Bottom" Stroke="Gainsboro" StrokeThickness="1"></Rectangle>
                                                    </Grid>
                                                </DataTemplate>
                                            </ListBox.ItemTemplate>
                                        </ListBox>
                                    </Expander>
                                    <Border Height="1" HorizontalAlignment="Stretch" Background="{DynamicResource MaterialDesignDivider}" SnapsToDevicePixels="True" />
                                    <Expander HorizontalAlignment="Stretch" Header="Touch Panels">
                                        <ListBox ItemsSource="{Binding ActiveMachineAdapter.ApplicationDisplayPanelVersions}" HorizontalContentAlignment="Stretch">
                                            <ListBox.ItemContainerStyle>
                                                <Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
                                                    <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
                                                    <Setter Property="VerticalContentAlignment" Value="Stretch"></Setter>
                                                    <Setter Property="Padding" Value="1"></Setter>
                                                </Style>
                                            </ListBox.ItemContainerStyle>
                                            <ListBox.ItemTemplate>
                                                <DataTemplate>
                                                    <Grid Background="Transparent" IsHitTestVisible="True" dragAndDrop:DragAndDropService.DraggableBorderBrush="{StaticResource AccentColorBrush}" dragAndDrop:DragAndDropService.Draggable="True" dragAndDrop:DragAndDropService.DraggingSurface="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DraggingSurface}">
                                                        <StackPanel Orientation="Horizontal" Margin="2 8">
                                                            <Image IsHitTestVisible="False" Width="24" Height="24" Source="../Images/tablet.png" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant"></Image>
                                                            <StackPanel Margin="5 0 0 0" IsHitTestVisible="False">
                                                                <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="DimGray"><Run Text="{Binding Name}"></Run></TextBlock>
                                                                <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="DimGray"><Run>v</Run><Run Text="{Binding Version}"></Run></TextBlock>
                                                            </StackPanel>
                                                        </StackPanel>

                                                        <Rectangle Margin="0 10 0 0" VerticalAlignment="Bottom" Stroke="Gainsboro" StrokeThickness="1"></Rectangle>
                                                    </Grid>
                                                </DataTemplate>
                                            </ListBox.ItemTemplate>
                                        </ListBox>
                                    </Expander>
                                    <Border Height="1" HorizontalAlignment="Stretch" Background="{DynamicResource MaterialDesignDivider}" SnapsToDevicePixels="True" />
                                    <Expander HorizontalAlignment="Stretch" Header="Operation Systems">
                                        <ListBox ItemsSource="{Binding ActiveMachineAdapter.ApplicationOsVersions}" HorizontalContentAlignment="Stretch">
                                            <ListBox.ItemContainerStyle>
                                                <Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
                                                    <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
                                                    <Setter Property="VerticalContentAlignment" Value="Stretch"></Setter>
                                                    <Setter Property="Padding" Value="1"></Setter>
                                                </Style>
                                            </ListBox.ItemContainerStyle>
                                            <ListBox.ItemTemplate>
                                                <DataTemplate>
                                                    <Grid Background="Transparent" IsHitTestVisible="True" dragAndDrop:DragAndDropService.DraggableBorderBrush="{StaticResource AccentColorBrush}" dragAndDrop:DragAndDropService.Draggable="True" dragAndDrop:DragAndDropService.DraggingSurface="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DraggingSurface}">
                                                        <StackPanel Orientation="Horizontal" Margin="2 8">
                                                            <Image IsHitTestVisible="False" Width="24" Height="24" Source="../Images/android.png" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant"></Image>
                                                            <StackPanel Margin="5 0 0 0" IsHitTestVisible="False">
                                                                <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="DimGray"><Run Text="{Binding Name}"></Run></TextBlock>
                                                                <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="DimGray"><Run>v</Run><Run Text="{Binding Version}"></Run></TextBlock>
                                                            </StackPanel>
                                                        </StackPanel>

                                                        <Rectangle Margin="0 10 0 0" VerticalAlignment="Bottom" Stroke="Gainsboro" StrokeThickness="1"></Rectangle>
                                                    </Grid>
                                                </DataTemplate>
                                            </ListBox.ItemTemplate>
                                        </ListBox>
                                    </Expander>
                                    <Border Height="1" HorizontalAlignment="Stretch" Background="{DynamicResource MaterialDesignDivider}" SnapsToDevicePixels="True" />
                                    <Expander HorizontalAlignment="Stretch" Header="Application Firmwares">
                                        <ListBox ItemsSource="{Binding ActiveMachineAdapter.ApplicationFirmwareVersions}" HorizontalContentAlignment="Stretch">
                                            <ListBox.ItemContainerStyle>
                                                <Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
                                                    <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
                                                    <Setter Property="VerticalContentAlignment" Value="Stretch"></Setter>
                                                    <Setter Property="Padding" Value="1"></Setter>
                                                </Style>
                                            </ListBox.ItemContainerStyle>
                                            <ListBox.ItemTemplate>
                                                <DataTemplate>
                                                    <Grid Background="Transparent" IsHitTestVisible="True" dragAndDrop:DragAndDropService.DraggableBorderBrush="{StaticResource AccentColorBrush}" dragAndDrop:DragAndDropService.Draggable="True" dragAndDrop:DragAndDropService.DraggingSurface="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DraggingSurface}">
                                                        <StackPanel Orientation="Horizontal" Margin="2 8">
                                                            <Image IsHitTestVisible="False" Width="24" Height="24" Source="../Images/application-firmware.png" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant"></Image>
                                                            <StackPanel Margin="5 0 0 0" IsHitTestVisible="False">
                                                                <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="DimGray"><Run Text="{Binding Name}"></Run></TextBlock>
                                                                <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="DimGray"><Run>v</Run><Run Text="{Binding Version}"></Run></TextBlock>
                                                            </StackPanel>
                                                        </StackPanel>

                                                        <Rectangle Margin="0 10 0 0" VerticalAlignment="Bottom" Stroke="Gainsboro" StrokeThickness="1"></Rectangle>
                                                    </Grid>
                                                </DataTemplate>
                                            </ListBox.ItemTemplate>
                                        </ListBox>
                                    </Expander>
                                    <Border Height="1" HorizontalAlignment="Stretch" Background="{DynamicResource MaterialDesignDivider}" SnapsToDevicePixels="True" />
                                    <Expander HorizontalAlignment="Stretch" Header="Embedded Firmwares">
                                        <ListBox ItemsSource="{Binding ActiveMachineAdapter.EmbeddedFirmwareVersions}" HorizontalContentAlignment="Stretch">
                                            <ListBox.ItemContainerStyle>
                                                <Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
                                                    <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
                                                    <Setter Property="VerticalContentAlignment" Value="Stretch"></Setter>
                                                    <Setter Property="Padding" Value="1"></Setter>
                                                </Style>
                                            </ListBox.ItemContainerStyle>
                                            <ListBox.ItemTemplate>
                                                <DataTemplate>
                                                    <Grid Background="Transparent" IsHitTestVisible="True" dragAndDrop:DragAndDropService.DraggableBorderBrush="{StaticResource AccentColorBrush}" dragAndDrop:DragAndDropService.Draggable="True" dragAndDrop:DragAndDropService.DraggingSurface="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DraggingSurface}">
                                                        <StackPanel Orientation="Horizontal" Margin="2 8">
                                                            <Image IsHitTestVisible="False" Width="24" Height="24" Source="../Images/embedded.png" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant"></Image>
                                                            <StackPanel Margin="5 0 0 0" IsHitTestVisible="False">
                                                                <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="DimGray"><Run Text="{Binding Name}"></Run></TextBlock>
                                                                <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="DimGray"><Run>v</Run><Run Text="{Binding Version}"></Run></TextBlock>
                                                            </StackPanel>
                                                        </StackPanel>

                                                        <Rectangle Margin="0 10 0 0" VerticalAlignment="Bottom" Stroke="Gainsboro" StrokeThickness="1"></Rectangle>
                                                    </Grid>
                                                </DataTemplate>
                                            </ListBox.ItemTemplate>
                                        </ListBox>
                                    </Expander>
                                    <Border Height="1" HorizontalAlignment="Stretch" Background="{DynamicResource MaterialDesignDivider}" SnapsToDevicePixels="True" />
                                    <Expander HorizontalAlignment="Stretch" Header="Hardware Versions">
                                        <ListBox ItemsSource="{Binding ActiveMachineAdapter.HardwareVersions}" HorizontalContentAlignment="Stretch">
                                            <ListBox.ItemContainerStyle>
                                                <Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
                                                    <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
                                                    <Setter Property="VerticalContentAlignment" Value="Stretch"></Setter>
                                                    <Setter Property="Padding" Value="1"></Setter>
                                                </Style>
                                            </ListBox.ItemContainerStyle>
                                            <ListBox.ItemTemplate>
                                                <DataTemplate>
                                                    <Grid Background="Transparent" IsHitTestVisible="True" dragAndDrop:DragAndDropService.DraggableBorderBrush="{StaticResource AccentColorBrush}" dragAndDrop:DragAndDropService.Draggable="True" dragAndDrop:DragAndDropService.DraggingSurface="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DraggingSurface}">
                                                        <StackPanel Orientation="Horizontal" Margin="2 8">
                                                            <Image IsHitTestVisible="False" Width="24" Height="24" Source="../Images/hardware.png" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant"></Image>
                                                            <StackPanel Margin="5 0 0 0" IsHitTestVisible="False">
                                                                <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="DimGray"><Run Text="{Binding Name}"></Run></TextBlock>
                                                                <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="DimGray"><Run>v</Run><Run Text="{Binding Version}"></Run></TextBlock>
                                                            </StackPanel>
                                                        </StackPanel>

                                                        <Rectangle Margin="0 10 0 0" VerticalAlignment="Bottom" Stroke="Gainsboro" StrokeThickness="1"></Rectangle>
                                                    </Grid>
                                                </DataTemplate>
                                            </ListBox.ItemTemplate>
                                        </ListBox>
                                    </Expander>
                                </StackPanel>
                            </materialDesign:Card>
                        </StackPanel>
                    </Grid>
                </ScrollViewer>
            </Grid>
        </Grid>

        <dragAndDrop:DraggingSurface x:Name="dragSufrace" />
    </Grid>
</UserControl>