<UserControl x:Class="Tango.MachineStudio.MachineDesigner.Views.MachineUpdatesView" 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:vm="clr-namespace:Tango.MachineStudio.MachineDesigner.ViewModels" xmlns:global="clr-namespace:Tango.MachineStudio.MachineDesigner" xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI" xmlns:mahapps="http://metro.mahapps.com/winfx/xaml/controls" xmlns:controls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI" xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes" xmlns:local="clr-namespace:Tango.MachineStudio.MachineDesigner.Views" mc:Ignorable="d" d:DesignHeight="720" d:DesignWidth="1500" Background="Transparent" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}"> <UserControl.Resources> <converters:EnumToDescriptionConverter x:Key="EnumToDescriptionConverter" /> <converters:DateTimeUTCToShortDateTimeConverter x:Key="DateTimeUTCToShortDateTimeConverter" /> <converters:StringToOneLineConverter x:Key="StringToOneLineConverter" /> </UserControl.Resources> <Grid Margin="20" DataContext="{Binding MachineUpdatesViewVM}"> <DockPanel IsEnabled="{Binding IsFree}"> <Grid DockPanel.Dock="Bottom"> </Grid> <Grid Margin="0 20"> <Grid.ColumnDefinitions> <ColumnDefinition Width="38*"/> <ColumnDefinition Width="117*"/> </Grid.ColumnDefinitions> <local:MachineView Margin="30 80 0 0" DataContext="{Binding Machine}" IsHitTestVisible="False" VerticalAlignment="Top" Height="241" /> <DockPanel Grid.Column="1" Margin="50 100 50 50"> <Grid DockPanel.Dock="Bottom" Height="50"> <StackPanel Orientation="Horizontal"> <CheckBox IsChecked="{Binding DisplayMachineSetups}">Machine Setups</CheckBox> <CheckBox IsChecked="{Binding DisplayApplicationUpdates}" Margin="30 0">Software Updates</CheckBox> <CheckBox IsChecked="{Binding DisplayDatabaseUpdates}">Database Updates</CheckBox> <CheckBox IsChecked="{Binding DisplaySynchronizations}" Margin="30 0 0 0">Synchronizations</CheckBox> <CheckBox IsChecked="{Binding DisplayOfflineUpdates}" Margin="30 0 0 0">Offline Updates</CheckBox> <CheckBox IsChecked="{Binding DisplayFirmwareUpgrades}" Margin="30 0 0 0">Offline Firmware Upgrades</CheckBox> </StackPanel> <Button Command="{Binding RefreshCommand}" HorizontalAlignment="Right" Width="150" Style="{StaticResource MaterialDesignFlatButton}">REFRESH</Button> </Grid> <Grid> <DataGrid Margin="0 0 0 10" SelectionUnit="FullRow" BorderBrush="{StaticResource borderBrush }" BorderThickness="1" Background="{StaticResource TransparentBackgroundBrush}" AlternatingRowBackground="{StaticResource Transparent200}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" IsReadOnly="True" ItemsSource="{Binding Updates}" SelectedItem="{Binding SelectedUpdate}"> <DataGrid.CellStyle> <Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}"> <Setter Property="BorderThickness" Value="0"/> <Setter Property="FocusVisualStyle" Value="{x:Null}"/> <Setter Property="VerticalContentAlignment" Value="Center"></Setter> </Style> </DataGrid.CellStyle> <DataGrid.Columns> <DataGridTemplateColumn Header=""> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <materialDesign:PackIcon Width="16" Height="16"> <materialDesign:PackIcon.Style> <Style TargetType="materialDesign:PackIcon"> <Setter Property="Kind" Value="Information"></Setter> <Style.Triggers> <DataTrigger Binding="{Binding IsSetup}" Value="True"> <Setter Property="Kind" Value="Settings"></Setter> </DataTrigger> <DataTrigger Binding="{Binding IsUpdate}" Value="True"> <Setter Property="Kind" Value="CloudDownload"></Setter> </DataTrigger> <DataTrigger Binding="{Binding IsDataBase}" Value="True"> <Setter Property="Kind" Value="Database"></Setter> </DataTrigger> <DataTrigger Binding="{Binding IsSynchronization}" Value="True"> <Setter Property="Kind" Value="Sync"></Setter> </DataTrigger> <DataTrigger Binding="{Binding IsOfflineUpdate}" Value="True"> <Setter Property="Kind" Value="Sd"></Setter> </DataTrigger> <DataTrigger Binding="{Binding IsOfflineFirmwareUpgrade}" Value="True"> <Setter Property="Kind" Value="Chip"></Setter> </DataTrigger> <DataTrigger Binding="{Binding IsStarted}" Value="True"> <Setter Property="Foreground" Value="{StaticResource OrangeBrush}"></Setter> </DataTrigger> <DataTrigger Binding="{Binding IsCompleted}" Value="True"> <Setter Property="Foreground" Value="{StaticResource GreenBrush }"></Setter> </DataTrigger> <DataTrigger Binding="{Binding IsFailed}" Value="True"> <Setter Property="Foreground" Value="Red"></Setter> </DataTrigger> </Style.Triggers> </Style> </materialDesign:PackIcon.Style> </materialDesign:PackIcon> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> <DataGridTextColumn Header="STARTED" Binding="{Binding StartDate,Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}" Width="Auto" /> <DataGridTextColumn Header="APPLICATION" Binding="{Binding ApplicationVersion}" Width="Auto" /> <DataGridTextColumn Header="FIRMWARE" Binding="{Binding FirmwareVersion}" Width="Auto" /> <DataGridTextColumn Header="ENDED" Binding="{Binding EndDate,TargetNullValue='Never',FallbackValue='Never',Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}" Width="Auto" /> <DataGridTextColumn Header="STATUS" Binding="{Binding UpdateStatus,Converter={StaticResource EnumToDescriptionConverter}}" Width="Auto" /> <DataGridTextColumn Header="REASON" Binding="{Binding FailedReason,Converter={StaticResource StringToOneLineConverter},ConverterParameter='80'}" Width="*" /> </DataGrid.Columns> </DataGrid> </Grid> </DockPanel> </Grid> </DockPanel> </Grid> </UserControl>