aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineView.xaml
blob: f72344905ea3e29125bc4a93ce3ca041c3fba99d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
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 */
using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;

public static class CommonDialogExtensions
{
    public static bool ShowDialogCenter(this CommonDialog dialog)
    {
        return dialog.ShowDialog(Application.Current.MainWindow).Value;
    }
}
6' href='#n246'>246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301
<UserControl x:Class="Tango.MachineStudio.MachineDesigner.Views.MachineView"
             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" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}">

    <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>
        </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>
        <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">
                        <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</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>

                    <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}" 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}" >
                                        <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>
                                            </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">
                        <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">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="1*" />
                        </Grid.RowDefinitions>

                        <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">
                        <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="3" >
                            <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="1" >
                            <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>
</UserControl>