aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml
blob: e25a64c5ed3675b66176d49157af9747ff7a6b57 (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
4
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace Tango.MachineStudio.UI.Views
{
    /// <summary>
    /// Interaction logic for MachineLoginView.xaml
    /// </summary>
    public partial class MachineLoginView : UserControl
    {
        public MachineLoginView()
        {
            InitializeComponent();

            this.Loaded += MachineLoginView_Loaded;
        }

        private void MachineLoginView_Loaded(object sender, RoutedEventArgs e)
        {
            txtPass.Focusable = true;
            txtPass.Focus();
            txtPass.Password = String.Empty;
            Password = String.Empty;
        }

        public String Password
        {
            get { return (String)GetValue(PasswordProperty); }
            set { SetValue(PasswordProperty, value); }
        }
        public static readonly DependencyProperty PasswordProperty =
            DependencyProperty.Register("Password", typeof(String), typeof(MachineLoginView), new PropertyMetadata(null));

        private void txtPass_PasswordChanged(object sender, RoutedEventArgs e)
        {
            Password = txtPass.Password;
        }
    }
}
37 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814
<UserControl x:Class="Tango.MachineStudio.MachineDesigner.Views.MainView"
             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">
                        <StackPanel>
                            <StackPanel Orientation="Horizontal" x:Name="stackHeader" x:FieldModifier="public">
                                <TextBlock FontSize="30" FontStyle="Italic" VerticalAlignment="Center" Margin="50 10 10 0" Foreground="Silver" FontWeight="Bold">MACHINE DESIGNER</TextBlock>
                                <StackPanel Orientation="Horizontal" Margin="20 10 0 0" VerticalAlignment="Center">
                                    <materialDesign:PackIcon Kind="BarcodeScan" VerticalAlignment="Bottom" Width="24" Height="24" Foreground="Silver"></materialDesign:PackIcon>
                                    <autoComplete:AutoCompleteTextBox FontSize="16" FontWeight="Bold" FontStyle="Italic" Width="300" Margin="5 0 0 0" materialDesign:HintAssist.Hint="Enter serial number" DisplayMember="SerialNumber" Provider="{Binding MachinesProvider}" SelectedItem="{Binding SelectedMachine,Mode=TwoWay}">
                                        <autoComplete:AutoCompleteTextBox.ItemTemplate>
                                            <DataTemplate>
                                                <TextBlock Text="{Binding SerialNumber}"></TextBlock>
                                            </DataTemplate>
                                        </autoComplete:AutoCompleteTextBox.ItemTemplate>
                                        <autoComplete:AutoCompleteTextBox.LoadingContent>
                                            <TextBlock Text="Loading..." Margin="5" FontSize="14" />
                                        </autoComplete:AutoCompleteTextBox.LoadingContent>
                                    </autoComplete:AutoCompleteTextBox>

                                    <Button Style="{StaticResource MaterialDesignFlatButton}" Margin="10 0 0 0" Padding="0" Foreground="Gray" Width="40" Command="{Binding ResetCommand}" ToolTip="Reset the designer">
                                        <materialDesign:PackIcon Kind="Refresh" Width="24" Height="24" />
                                    </Button>
                                </StackPanel>
                            </StackPanel>
                        </StackPanel>
                        <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0 0 50 0">

                        </StackPanel>
                    </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 Configuration.HardwareVersion.Name}"></Run>
                                            <Run Text="{Binding 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 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 DispenserType}" 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 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 Configuration.EmbeddedFirmwareVersion.Name}"/><Run Text=" "/><Run Text="{Binding 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 Configuration.ApplicationDisplayPanelVersion.Name}"></Run>
                                        <Run Text="{Binding 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 Configuration.ApplicationFirmwareVersion.Name}"></Run>
                                        <Run Text="{Binding 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 Configuration.ApplicationOsVersion.Name}"></Run>
                                        <Run Text="{Binding 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 Configuration.IdsPacks}" FontSize="10" Foreground="DimGray" Margin="10 30 10 10">
                            <ItemsControl.ItemTemplate>
                                <DataTemplate>
                                    <StackPanel>
                                        <TextBox materialDesign:HintAssist.Hint="IDS Pack Name..." Text="{Binding Name,UpdateSourceTrigger=PropertyChanged}" FontWeight="Bold" FontSize="12" Margin="5"></TextBox>
                                        <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 DispenserType.Name}"></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="60"/>
                </Grid.RowDefinitions>
                <ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
                    <Grid>
                        <StackPanel>
                            <materialDesign:Card Margin="5,10,5,0" Background="{DynamicResource MaterialDesignBackground}" Padding="20 10">
                                <StackPanel>
                                    <TextBlock Text="MACHINE CONFIGURATION" Foreground="Gray" FontWeight="Bold" FontStyle="Italic" FontSize="16"></TextBlock>

                                    <TextBlock Margin="0 10 0 0" FontSize="10" Foreground="Gray">Serial Number</TextBlock>
                                    <TextBox Text="{Binding Machine.SerialNumber,UpdateSourceTrigger=PropertyChanged}"></TextBox>

                                    <TextBlock Margin="0 15 0 0" FontSize="10" Foreground="Gray">Machine Name</TextBlock>
                                    <TextBox Text="{Binding Machine.Name,UpdateSourceTrigger=PropertyChanged}"></TextBox>

                                    <TextBlock Margin="0 15 0 0" FontSize="10" Foreground="Gray">Machine Version</TextBlock>
                                    <Grid>
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="1*"></ColumnDefinition>
                                            <ColumnDefinition Width="80"></ColumnDefinition>
                                        </Grid.ColumnDefinitions>
                                        <ComboBox ItemsSource="{Binding Adapter.MachineVersions}" SelectedItem="{Binding Machine.MachineVersion}" DisplayMemberPath="Name"></ComboBox>
                                        <Button Grid.Column="1" Command="{Binding SetVersionConfigurationCommand}" Height="25" Margin="10 2 2 2" ToolTip="Sets the current configuration to the selected machine version default configuration">SET</Button>
                                    </Grid>

                                    <TextBlock Margin="0 15 0 0" FontSize="10" Foreground="Gray">Organization</TextBlock>
                                    <ComboBox ItemsSource="{Binding Adapter.Organizations}" SelectedItem="{Binding Machine.Organization}" DisplayMemberPath="Name"></ComboBox>

                                    <UniformGrid Columns="2" Margin="0 15 0 0">
                                        <TextBlock FontSize="10" Foreground="Gray" VerticalAlignment="Center">Enable Synchronization</TextBlock>
                                        <ToggleButton HorizontalAlignment="Right" IsChecked="{Binding Machine.Synched}"></ToggleButton>
                                    </UniformGrid>

                                    <TextBlock Margin="0 15 0 0" FontSize="10" Foreground="Gray">Configuration Name</TextBlock>
                                    <TextBox Text="{Binding Configuration.Name,UpdateSourceTrigger=PropertyChanged}"></TextBox>
                                </StackPanel>
                            </materialDesign:Card>

                            <materialDesign:Card Margin="5,10,5,0" Background="{DynamicResource MaterialDesignBackground}">
                                <StackPanel>
                                    <Expander HorizontalAlignment="Stretch" Header="Configuration History">
                                        <ListBox ItemsSource="{Binding History}" HorizontalContentAlignment="Stretch" SelectedItem="{Binding SelectedHistoryConfiguration}">
                                            <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">
                                                            <materialDesign:PackIcon Kind="Clock" Width="24" Height="24"  VerticalAlignment="Center"></materialDesign:PackIcon>
                                                            <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" Margin="0 2 0 0"><Run Text="{Binding CreationDate}"></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>

                            <materialDesign:Card Margin="5,10,5,0" Padding="10" Background="{DynamicResource MaterialDesignBackground}">
                                <DockPanel>
                                    <materialDesign:PackIcon Kind="Magnify" Width="28" Height="28"></materialDesign:PackIcon>
                                    <TextBox Margin="5 0 0 0" materialDesign:HintAssist.Hint="Search Component..." Text="{Binding Filter,UpdateSourceTrigger=PropertyChanged}"></TextBox>
                                </DockPanel>
                            </materialDesign:Card>
                            <materialDesign:Card Margin="5,10,5,0" Background="{DynamicResource MaterialDesignBackground}">
                                <StackPanel>
                                    <Expander HorizontalAlignment="Stretch" Header="Dispensers">
                                        <ListBox ItemsSource="{Binding Adapter.DispenserTypesViewSource}" 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/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 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="Mid Tanks">
                                        <ListBox ItemsSource="{Binding Adapter.MidTankTypesViewSource}" 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 Adapter.CartridgeTypesViewSource}" 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 Adapter.LiquidTypesViewSource}" 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 Adapter.IdsPackFormulasViewSource}" 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 Adapter.ApplicationDisplayPanelVersionsViewSource}" 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 Adapter.ApplicationOsVersionsViewSource}" 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 Adapter.ApplicationFirmwareVersionsViewSource}" 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 Adapter.EmbeddedFirmwareVersionsViewSource}" 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 Adapter.HardwareVersionsViewSource}" 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.Row="1" Margin="10">
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="61*"/>
                            <ColumnDefinition Width="84*"/>
                        </Grid.ColumnDefinitions>
                        <Button Height="Auto" Command="{Binding SaveCommand}" Margin="0 0 5 0">
                            <StackPanel Orientation="Horizontal">
                                <materialDesign:PackIcon Width="20" Height="20" VerticalAlignment="Center" Kind="ContentSaveSettings"></materialDesign:PackIcon>
                                <TextBlock FontSize="14" Margin="10 0 0 0" VerticalAlignment="Center">SAVE</TextBlock>
                            </StackPanel>
                        </Button>
                        <Button ToolTip="Set this configuration as a default machine configuration" Height="Auto" Background="#FF5C5C" BorderBrush="#FF5C5C" Command="{Binding SetAsDefaultCommand}" Margin="0 0 15 0" Grid.Column="1">
                            <StackPanel Orientation="Horizontal">
                                <materialDesign:PackIcon Width="20" Height="20" VerticalAlignment="Center" Kind="Verified"></materialDesign:PackIcon>
                                <TextBlock FontSize="14" Margin="10 0 0 0" VerticalAlignment="Center">SET DEFAULT</TextBlock>
                            </StackPanel>
                        </Button>
                    </Grid>
                </Grid>
            </Grid>
        </Grid>

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