aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/ConfigurationView.xaml
blob: b13ffb87b067097255b7ffb0ae7e3d8e1e1d5b8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)

using System;
using System.Windows;
using System.Windows.Controls;
using Tango.Scripting.Editors.Editing;
using Tango.Scripting.Editors.Utils;

namespace Tango.Scripting.Editors.CodeCompletion
{
	/// <summary>
	/// A popup-like window that is attached to a text segment.
	/// </summary>
	public class InsightWindow : CompletionWindowBase
	{
		static InsightWindow()
		{
			DefaultStyleKeyProperty.OverrideMetadata(typeof(InsightWindow),
			                                         new FrameworkPropertyMetadata(typeof(InsightWindow)));
			AllowsTransparencyProperty.OverrideMetadata(typeof(InsightWindow),
			                                            new FrameworkPropertyMetadata(Boxes.True));
		}
		
		/// <summary>
		/// Creates a new InsightWindow.
		/// </summary>
		public InsightWindow(TextArea textArea) : base(textArea)
		{
			this.CloseAutomatically = true;
			AttachEvents();
		}
		
		/// <inheritdoc/>
		protected override void OnSourceInitialized(EventArgs e)
		{
			base.OnSourceInitialized(e);
			
			Rect caret = this.TextArea.Caret.CalculateCaretRectangle();
			Point pointOnScreen = this.TextArea.TextView.PointToScreen(caret.Location - this.TextArea.TextView.ScrollOffset);
			Rect workingArea = System.Windows.Forms.Screen.FromPoint(pointOnScreen.ToSystemDrawing()).WorkingArea.ToWpf().TransformFromDevice(this);
			
			MaxHeight = workingArea.Height;
			MaxWidth = Math.Min(workingArea.Width, Math.Max(1000, workingArea.Width * 0.6));
		}
		
		/// <summary>
		/// Gets/Sets whether the insight window should close automatically.
		/// The default value is true.
		/// </summary>
		public bool CloseAutomatically { get; set; }
		
		/// <inheritdoc/>
		protected override bool CloseOnFocusLost {
			get { return this.CloseAutomatically; }
		}
		
		void AttachEvents()
		{
			this.TextArea.Caret.PositionChanged += CaretPositionChanged;
		}
		
		/// <inheritdoc/>
		protected override void DetachEvents()
		{
			this.TextArea.Caret.PositionChanged -= CaretPositionChanged;
			base.DetachEvents();
		}
		
		void CaretPositionChanged(object sender, EventArgs e)
		{
			if (this.CloseAutomatically) {
				int offset = this.TextArea.Caret.Offset;
				if (offset < this.StartOffset || offset > this.EndOffset) {
					Close();
				}
			}
		}
	}
	
	/// <summary>
	/// TemplateSelector for InsightWindow to replace plain string content by a TextBlock with TextWrapping.
	/// </summary>
	internal sealed class InsightWindowTemplateSelector : DataTemplateSelector
	{
		public override DataTemplate SelectTemplate(object item, DependencyObject container)
		{
			if (item is string)
				return (DataTemplate)((FrameworkElement)container).FindResource("TextBlockTemplate");
			
			return null;
		}
	}
}
n698'>698 699 700 701 702 703 704 705 706 707
<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="{StaticResource GrayBrush}" 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="{StaticResource BorderBrushGainsboro}"  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="{StaticResource BorderBrushGainsboro}"  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="{StaticResource BorderBrushGainsboro}" 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="{StaticResource BorderBrushGainsboro}" 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="{StaticResource GrayBrush}" FontSize="16">IDS PACKS</TextBlock>
                    <ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
                        <ItemsControl ItemsSource="{Binding ActiveMachine.Configuration.IdsPacks}" FontSize="10" Foreground="{StaticResource DimGrayBrush}" 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="{StaticResource BorderBrushGainsboro}" 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="{StaticResource BorderBrushGainsboro}" 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="{StaticResource DimGrayBrush}"><Run Text="{Binding Name}"></Run></TextBlock>
                                                            </StackPanel>
                                                        </StackPanel>

                                                        <Rectangle Margin="0 10 0 0" VerticalAlignment="Bottom" Stroke="{StaticResource BorderBrushGainsboro}" 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="{StaticResource BorderBrushGainsboro}" 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="{StaticResource DimGrayBrush}"><Run Text="{Binding Name}"></Run></TextBlock>
                                                                <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="{StaticResource DimGrayBrush}"><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="{StaticResource BorderBrushGainsboro}" 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="{StaticResource DimGrayBrush}"><Run Text="{Binding Name}"></Run></TextBlock>
                                                            </StackPanel>
                                                        </StackPanel>

                                                        <Rectangle Margin="0 10 0 0" VerticalAlignment="Bottom" Stroke="{StaticResource BorderBrushGainsboro}" 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="{StaticResource DimGrayBrush}"><Run Text="{Binding Name}"></Run></TextBlock>
                                                                <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="{StaticResource DimGrayBrush}"><Run>v</Run><Run Text="{Binding Version}"></Run></TextBlock>
                                                            </StackPanel>
                                                        </StackPanel>

                                                        <Rectangle Margin="0 10 0 0" VerticalAlignment="Bottom" Stroke="{StaticResource BorderBrushGainsboro}" 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="{StaticResource DimGrayBrush}"><Run Text="{Binding Name}"></Run></TextBlock>
                                                                <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="{StaticResource DimGrayBrush}"><Run>v</Run><Run Text="{Binding Version}"></Run></TextBlock>
                                                            </StackPanel>
                                                        </StackPanel>

                                                        <Rectangle Margin="0 10 0 0" VerticalAlignment="Bottom" Stroke="{StaticResource BorderBrushGainsboro}" 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="{StaticResource DimGrayBrush}"><Run Text="{Binding Name}"></Run></TextBlock>
                                                                <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="{StaticResource DimGrayBrush}"><Run>v</Run><Run Text="{Binding Version}"></Run></TextBlock>
                                                            </StackPanel>
                                                        </StackPanel>

                                                        <Rectangle Margin="0 10 0 0" VerticalAlignment="Bottom" Stroke="{StaticResource BorderBrushGainsboro}" 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="{StaticResource DimGrayBrush}"><Run Text="{Binding Name}"></Run></TextBlock>
                                                                <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="{StaticResource DimGrayBrush}"><Run>v</Run><Run Text="{Binding Version}"></Run></TextBlock>
                                                            </StackPanel>
                                                        </StackPanel>

                                                        <Rectangle Margin="0 10 0 0" VerticalAlignment="Bottom" Stroke="{StaticResource BorderBrushGainsboro}" 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="{StaticResource DimGrayBrush}"><Run Text="{Binding Name}"></Run></TextBlock>
                                                                <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="{StaticResource DimGrayBrush}"><Run>v</Run><Run Text="{Binding Version}"></Run></TextBlock>
                                                            </StackPanel>
                                                        </StackPanel>

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

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