Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
VerifyResults.xaml 36.7 KiB
Newer Older
<UserControl
	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:viewModel="clr-namespace:HashingTool.ViewModel"
	xmlns:views="clr-namespace:HashingTool.Views"
	xmlns:helper="clr-namespace:HashingTool.Helper"
	xmlns:userControl="clr-namespace:HashingTool.ViewModel.UserControl"
	x:Class="HashingTool.Views.VerifyResults"
	<UserControl.DataContext>
		<viewModel:VerifyResultDataViewModel />
	</UserControl.DataContext>
	<UserControl.Resources>
		<helper:CollectionConverter x:Key="CollectionConverter" />

		<DataTemplate x:Key="ExpanderHeader" DataType="userControl:VectoXMLFile">
			<DockPanel HorizontalAlignment="Stretch" VerticalAlignment="top" MinWidth="450">
				<TextBlock DockPanel.Dock="Top" Text="{Binding Name}" FontWeight="Bold" />
				<ContentControl DockPanel.Dock="Right" Width="35" Height="35" Margin="10,-10,10,0">
					<ContentControl.LayoutTransform>
						<ScaleTransform ScaleX=".4" ScaleY=".4" />
					</ContentControl.LayoutTransform>
					<ContentControl.Style>
						<Style TargetType="ContentControl">
							<Setter Property="Content" Value="" />
							<Style.Triggers>
								<DataTrigger Binding="{Binding FileIntegrityValid}" Value="True">
									<Setter Property="ContentTemplate" Value="{StaticResource Icon_OK}" />
								</DataTrigger>
								<DataTrigger Binding="{Binding FileIntegrityValid}" Value="False">
									<Setter Property="ContentTemplate" Value="{StaticResource Icon_NOK}" />
								</DataTrigger>
							</Style.Triggers>
						</Style>
					</ContentControl.Style>
				</ContentControl>
				<views:VectoXMLFileSelector DockPanel.Dock="Left" Margin="0,0,0,0" VerticalAlignment="Top"
											XMLFile="{Binding XMLFile}" Height="1" />

			</DockPanel>
		</DataTemplate>

		<DataTemplate x:Key="ExpanderHeaderJobFile" DataType="userControl:VectoJobFile">
			<DockPanel HorizontalAlignment="Stretch" VerticalAlignment="top" MinWidth="450">
				<TextBlock DockPanel.Dock="Top" Text="{Binding Name}" FontWeight="Bold" />

				<ContentControl DockPanel.Dock="Right" Width="35" Height="35" Margin="10,-10,10,0"
					<ContentControl.LayoutTransform>
						<ScaleTransform ScaleX=".4" ScaleY=".4" />
					</ContentControl.LayoutTransform>
					<ContentControl.Style>
						<Style TargetType="ContentControl">
							<Setter Property="Content" Value="" />
							<Style.Triggers>
								<DataTrigger Binding="{Binding JobDataValid}" Value="True">
									<Setter Property="ContentTemplate" Value="{StaticResource Icon_OK}" />
								</DataTrigger>
								<DataTrigger Binding="{Binding JobDataValid}" Value="False">
									<Setter Property="ContentTemplate" Value="{StaticResource Icon_NOK}" />
								</DataTrigger>
							</Style.Triggers>
						</Style>
					</ContentControl.Style>
				</ContentControl>
				<views:VectoXMLFileSelector DockPanel.Dock="Left" Margin="0,0,0,0" VerticalAlignment="Top"
											XMLFile="{Binding XMLFile}" Height="1" />
			</DockPanel>
		</DataTemplate>

		<DataTemplate x:Key="ExpanderHeaderManufacturerReport" DataType="userControl:ManufacturerReportXMLFile">
			<DockPanel HorizontalAlignment="Stretch" VerticalAlignment="top" MinWidth="450">
				<TextBlock DockPanel.Dock="Top" Text="{Binding Name}" FontWeight="Bold" />
				<ContentControl DockPanel.Dock="Right" Width="35" Height="35" Margin="10,-10,10,0"
								ToolTip="{Binding FileIntegrityTooltip}">
					<ContentControl.LayoutTransform>
						<ScaleTransform ScaleX=".4" ScaleY=".4" />
					</ContentControl.LayoutTransform>
					<ContentControl.Style>
						<Style TargetType="ContentControl">
							<Setter Property="Content" Value="" />
							<Style.Triggers>
								<DataTrigger Binding="{Binding FileIntegrityValid}" Value="True">
									<Setter Property="ContentTemplate" Value="{StaticResource Icon_OK}" />
								</DataTrigger>
								<DataTrigger Binding="{Binding FileIntegrityValid}" Value="False">
									<Setter Property="ContentTemplate" Value="{StaticResource Icon_NOK}" />
								</DataTrigger>
							</Style.Triggers>
						</Style>
					</ContentControl.Style>
				</ContentControl>
				<views:VectoXMLFileSelector DockPanel.Dock="Left" Margin="0,0,0,0" VerticalAlignment="Top"
											XMLFile="{Binding XMLFile}" Height="1" />

		<DataTemplate x:Key="ExpanderContentJobFile" DataType="userControl:VectoJobFile">
				<Grid.RowDefinitions>
					<RowDefinition />
					<RowDefinition />
					<RowDefinition />
					<RowDefinition />
				<Grid.ColumnDefinitions>
					<ColumnDefinition Width="Auto" SharedSizeGroup="LabelsShareGroup" />
				</Grid.ColumnDefinitions>
				<Label Grid.Row="1" Grid.Column="0" Content="Canonicalization methods:" />
				<TextBox Grid.Row="1" Grid.Column="1"
						Text="{Binding CanonicalizationMethods, Mode=OneWay , Converter={StaticResource CollectionConverter}}"
						Margin="10,2" IsReadOnly="True" />

				<Label Grid.Row="2" Grid.Column="0" Content="Digest method:" />
				<TextBox Grid.Row="2" Grid.Column="1"
						Text="{Binding DigestMethod, Mode=OneWay}"
						Margin="10,2" IsReadOnly="True" />

				<Label Grid.Row="3" Grid.Column="0" Content="Digest Value computed:" Style="{StaticResource DigestValueLabelStyle}" />
				<TextBox Grid.Row="3" Grid.Column="1" Text="{Binding DigestValueComputed}"
						Margin="10,2" IsReadOnly="True" Style="{StaticResource DigestValueTextboxStyle}" />

				<!--<Expander Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" Margin="4" Header="Components">-->
				<GroupBox Grid.Column="0" Grid.Row="4" Grid.ColumnSpan="2" Header="Vehicle Components"
						Style="{DynamicResource CustomGroupboxStyle}">
					<Grid IsSharedSizeScope="True" Margin="10,10,0,0">
						<Grid.ColumnDefinitions>
							<ColumnDefinition Width="Auto" SharedSizeGroup="ComponentLabel" />
							<ColumnDefinition Width="Auto" SharedSizeGroup="certificationNbrLabel" />
							<ColumnDefinition Width="*" />
							<ColumnDefinition Width="Auto" SharedSizeGroup="dateLabel" />
							<ColumnDefinition Width="Auto" SharedSizeGroup="dateField" MinWidth="150" />
						</Grid.ColumnDefinitions>
						<Grid.RowDefinitions>
							<RowDefinition />
							<RowDefinition />
						</Grid.RowDefinitions>

						<Label Grid.Row="0" Grid.Column="0" Content="Vehicle" FontWeight="Bold" Margin="0,0,10,0" />
						<Label Grid.Row="0" Grid.Column="1" Content="VIN:" />
						<TextBox Grid.Row="0" Grid.Column="2" Text="{Binding VehicleIdentificationNumber, Mode=OneWay}"
								Margin="10,2" IsReadOnly="True" />

						<Label Grid.Row="0" Grid.Column="3" Content="Date:" />
						<TextBox Grid.Row="0" Grid.Column="4"
								Text="{helper:CultureAwareBinding Path=JobCreationDate, StringFormat='g', Mode=OneWay}"
								Margin="10,2" IsReadOnly="True" />


						<ItemsControl Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="5" DockPanel.Dock="Bottom"
									ItemsSource="{Binding Components}" Margin="0,5,0,0">
							<ItemsControl.ItemTemplate>
								<DataTemplate>
									<Grid Margin="0, 5">
										<Grid.ColumnDefinitions>
											<ColumnDefinition Width="Auto" SharedSizeGroup="ComponentLabel" />
											<ColumnDefinition Width="Auto" SharedSizeGroup="certificationNbrLabel" />
											<ColumnDefinition Width="*" />
											<ColumnDefinition Width="Auto" SharedSizeGroup="dateLabel" />
											<ColumnDefinition Width="Auto" SharedSizeGroup="dateField" />
										</Grid.ColumnDefinitions>
										<Grid.RowDefinitions>
											<RowDefinition />
											<RowDefinition />
										</Grid.RowDefinitions>

										<Label Grid.Row="0" Grid.Column="0" Content="{Binding Component}" FontWeight="Bold" Margin="0,0,10,0" />
										<Label Grid.Row="0" Grid.Column="1" Content="Certification Number:" />
										<TextBox Grid.Row="0" Grid.Column="2" Text="{Binding CertificationNumber}"
												Margin="10,2" IsReadOnly="True" />
										<Label Grid.Row="0" Grid.Column="3" Content="Date:" />
										<TextBox Grid.Row="0" Grid.Column="4"
												Text="{helper:CultureAwareBinding Path=CertificationDate, StringFormat='g'}"
												Margin="10,2" IsReadOnly="True" />

										<Label Grid.Row="1" Grid.Column="1" Content="Digest Value:" />
										<TextBox Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="3" Text="{Binding DigestValueRead}"
											<TextBox.Style>
												<Style TargetType="TextBox" BasedOn="{StaticResource DigestValueTextboxStyle}">
													<Style.Triggers>
														<DataTrigger Binding="{Binding Valid}" Value="True">
															<Setter Property="Foreground" Value="{StaticResource Color.SuccessGreen}" />
														</DataTrigger>
														<DataTrigger Binding="{Binding Valid}" Value="False">
															<Setter Property="Foreground" Value="{StaticResource Color.ErrorRed}" />
																	<TextBlock Text="{Binding DigestValueComputed, StringFormat='{}Computed digest value: {0}'}" />
																</Setter.Value>
															</Setter>
														</DataTrigger>
													</Style.Triggers>
												</Style>
											</TextBox.Style>
									</Grid>
								</DataTemplate>
							</ItemsControl.ItemTemplate>

						</ItemsControl>
						<!--</Expander>-->
					</Grid>
				</GroupBox>
		<DataTemplate x:Key="ExpanderContentCustomerReport" DataType="userControl:CustomerReportXMLFile">
				<Grid.RowDefinitions>
					<RowDefinition />
					<RowDefinition />
					<RowDefinition />
					<RowDefinition/>
				<Grid.ColumnDefinitions>
					<ColumnDefinition Width="Auto"  SharedSizeGroup="LabelsShareGroup"/>
					<ColumnDefinition Width="*"/>
				</Grid.ColumnDefinitions>

				<Label Grid.Row="0" Grid.Column="0" Content="VIN:" Margin="8,0,0,0"/>
				<TextBox Grid.Row="0" Grid.Column="1" Text="{Binding ReportVIN, Mode=OneWay}"
								Margin="16,2,16,2" IsReadOnly="True" />
				<GroupBox Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" Header="Report Integrity" Margin="0,0,0,5" Style="{DynamicResource CustomGroupboxStyle}">
					<Grid>
						<Grid.ColumnDefinitions>
							<ColumnDefinition Width="Auto" SharedSizeGroup="LabelsShareGroup" />
							<ColumnDefinition Width="*" />
						</Grid.ColumnDefinitions>
						<Grid.RowDefinitions>
							<RowDefinition />
							<RowDefinition />
							<RowDefinition />
							<RowDefinition />
						<Label Grid.Row="0" Grid.Column="0" Content="Creation Date:" />
						<TextBox Grid.Row="0" Grid.Column="1" Text="{helper:CultureAwareBinding Path=Date, StringFormat='g'}"
								Margin="10,2" MinWidth="150" />

						<Label Grid.Row="1" Grid.Column="0" Content="Canonicalization methods:" />
						<TextBox Grid.Row="1" Grid.Column="1"
								Text="{Binding CanonicalizationMethods, Mode=OneWay , Converter={StaticResource CollectionConverter}}"
								Margin="10,2" IsReadOnly="True" />
						<Label Grid.Row="2" Grid.Column="0" Content="Digest method:" />
						<TextBox Grid.Row="2" Grid.Column="1" Text="{Binding DigestMethod, Mode=OneWay}" Margin="10,2" IsReadOnly="True" />
						<Label Grid.Row="3" Grid.Column="0" Content="Digest Value read:" Style="{StaticResource DigestValueLabelStyle}" />
						<TextBox Grid.Row="3" Grid.Column="1" Text="{Binding DigestValueRead}" Margin="10,2" IsReadOnly="True">
							<TextBox.Style>
								<Style TargetType="TextBox" BasedOn="{StaticResource DigestValueTextboxStyle}">
									<Style.Triggers>
										<DataTrigger Binding="{Binding FileIntegrityValid}" Value="True">
											<Setter Property="Foreground" Value="{StaticResource Color.SuccessGreen}" />
										</DataTrigger>
										<DataTrigger Binding="{Binding FileIntegrityValid}" Value="False">
											<Setter Property="Foreground" Value="{StaticResource Color.ErrorRed}" />
										</DataTrigger>
									</Style.Triggers>
								</Style>
							</TextBox.Style>
						</TextBox>
						<Label Grid.Row="4" Grid.Column="0" Content="Digest Value computed:"
								Style="{StaticResource DigestValueLabelStyle}" />
						<TextBox Grid.Row="4" Grid.Column="1" Text="{Binding DigestValueComputed}" Margin="10,2" IsReadOnly="True">
							<TextBox.Style>
								<Style TargetType="TextBox" BasedOn="{StaticResource DigestValueTextboxStyle}">
									<Style.Triggers>
										<DataTrigger Binding="{Binding FileIntegrityValid}" Value="True">
											<Setter Property="Foreground" Value="{StaticResource Color.SuccessGreen}" />
										</DataTrigger>
										<DataTrigger Binding="{Binding FileIntegrityValid}" Value="False">
											<Setter Property="Foreground" Value="{StaticResource Color.ErrorRed}" />
										</DataTrigger>
									</Style.Triggers>
								</Style>
							</TextBox.Style>
						</TextBox>
					</Grid>
				</GroupBox>
				<GroupBox Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" Header="Manufacturer Report Integrity" Style="{DynamicResource CustomGroupboxStyle}">
					<Grid>
						<Grid.ColumnDefinitions>
							<ColumnDefinition Width="Auto" SharedSizeGroup="LabelsShareGroup" />
							<ColumnDefinition Width="*" />
						</Grid.ColumnDefinitions>
						<Grid.RowDefinitions>
							<RowDefinition />
							<RowDefinition />
							<RowDefinition />
							<RowDefinition />
					
						</Grid.RowDefinitions>
						<Label Grid.Row="0" Grid.Column="0" Content="CanonicalizationMethod:" />
						<TextBox Grid.Row="0" Grid.Column="1"
								Text="{Binding ManufacturerReportCanonicalizationMethodRead, Mode=OneWay, Converter={StaticResource CollectionConverter}}"
								Margin="10,2" IsReadOnly="True" />

						<Label Grid.Row="1" Grid.Column="0" Content="Digest Method:" />
						<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding ManufacturerReportDigestMethodRead, Mode=OneWay}"
						<Label Grid.Row="2" Grid.Column="0" Content="Digest Value Read:"
								Style="{StaticResource DigestValueLabelStyle}" />
						<TextBox Grid.Row="2" Grid.Column="1" Text="{Binding ManufacturerReportDigestValueRead, Mode=OneWay}"
							<TextBox.Style>
								<Style TargetType="TextBox" BasedOn="{StaticResource DigestValueTextboxStyle}">
									<Setter Property="Foreground" Value="{StaticResource Color.ErrorRed}" />
									<Style.Triggers>
										<DataTrigger Binding="{Binding ManufacturerReportDigestValid}" Value="True">
											<Setter Property="Foreground" Value="{StaticResource Color.SuccessGreen}" />
										</DataTrigger>
									</Style.Triggers>
								</Style>
							</TextBox.Style>
						</TextBox>

						<Label Grid.Row="3" Grid.Column="0" Content="Digest Value Computed:"
								Style="{StaticResource DigestValueLabelStyle}" />
						<TextBox Grid.Row="3" Grid.Column="1" Text="{Binding ManufacturerReportDigestValueComputed, Mode=OneWay}"
							<TextBox.Style>
								<Style TargetType="TextBox" BasedOn="{StaticResource DigestValueTextboxStyle}">
									<Setter Property="Foreground" Value="{StaticResource Color.ErrorRed}" />
									<Style.Triggers>
										<DataTrigger Binding="{Binding ManufacturerReportDigestValid}" Value="True">
											<Setter Property="Foreground" Value="{StaticResource Color.SuccessGreen}" />
										</DataTrigger>
									</Style.Triggers>
								</Style>
							</TextBox.Style>
						</TextBox>
					</Grid>
				</GroupBox>

				<GroupBox Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" Header="Job Integrity" Style="{DynamicResource CustomGroupboxStyle}">
					<Grid>
						<Grid.ColumnDefinitions>
							<ColumnDefinition Width="Auto" SharedSizeGroup="LabelsShareGroup" />
							<ColumnDefinition Width="*" />
						</Grid.ColumnDefinitions>
						<Grid.RowDefinitions>
							<RowDefinition />
							<RowDefinition />
							<RowDefinition />
							<RowDefinition />
						</Grid.RowDefinitions>
						<Label Grid.Row="0" Grid.Column="0" Content="Job CanonicalizationMethod:" />
						<TextBox Grid.Row="0" Grid.Column="1"
								Text="{Binding JobCanonicalizationMethodRead, Mode=OneWay, Converter={StaticResource CollectionConverter}}"
								Margin="10,2" IsReadOnly="True" />

						<Label Grid.Row="1" Grid.Column="0" Content="Job Digest Method:" />
						<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding JobDigestMethodRead, Mode=OneWay}"
								Margin="10,2" IsReadOnly="True" />

						<Label Grid.Row="2" Grid.Column="0" Content="Job Digest Value Read:"
								Style="{StaticResource DigestValueLabelStyle}" />
						<TextBox Grid.Row="2" Grid.Column="1" Text="{Binding JobDigestValueRead, Mode=OneWay}"
								Margin="10,2" IsReadOnly="True">
							<TextBox.Style>
								<Style TargetType="TextBox" BasedOn="{StaticResource DigestValueTextboxStyle}">
									<Setter Property="Foreground" Value="{StaticResource Color.ErrorRed}" />
										<DataTrigger Binding="{Binding JobDigestMatchesReport}" Value="True">
											<Setter Property="Foreground" Value="{StaticResource Color.SuccessGreen}" />
										</DataTrigger>
									</Style.Triggers>
								</Style>
							</TextBox.Style>
						</TextBox>
						<Label Grid.Row="3" Grid.Column="0" Content="Job Digest Value Computed:"
								Style="{StaticResource DigestValueLabelStyle}" />
						<TextBox Grid.Row="3" Grid.Column="1" Text="{Binding JobDigestValueComputed, Mode=OneWay}"
								Margin="10,2" IsReadOnly="True">
							<TextBox.Style>
								<Style TargetType="TextBox" BasedOn="{StaticResource DigestValueTextboxStyle}">
									<Setter Property="Foreground" Value="{StaticResource Color.ErrorRed}" />
									<Style.Triggers>
										<DataTrigger Binding="{Binding JobDigestMatchesReport}" Value="True">
											<Setter Property="Foreground" Value="{StaticResource Color.SuccessGreen}" />
										</DataTrigger>
									</Style.Triggers>
								</Style>
							</TextBox.Style>
						</TextBox>
					</Grid>
				</GroupBox>
		<DataTemplate x:Key="ExpanderContentManufacturerReport" DataType="userControl:ManufacturerReportXMLFile">
			<Grid Grid.IsSharedSizeScope="True">
				<Grid.RowDefinitions>
					<RowDefinition />
					<RowDefinition />
					<RowDefinition />
					<RowDefinition />
					<RowDefinition />
				</Grid.RowDefinitions>

				<GroupBox Grid.Row="2" Header="Report Integrity" Margin="0,0,0,5" Style="{DynamicResource CustomGroupboxStyle}">
					<Grid>
						<Grid.ColumnDefinitions>
							<ColumnDefinition Width="Auto" SharedSizeGroup="LabelsShareGroup" />
							<ColumnDefinition Width="*" />
						</Grid.ColumnDefinitions>
						<Grid.RowDefinitions>
							<RowDefinition />
							<RowDefinition />
							<RowDefinition />
							<RowDefinition />
						<Label Grid.Row="0" Grid.Column="0" Content="Creation Date:" />
						<TextBox Grid.Row="0" Grid.Column="1" Text="{helper:CultureAwareBinding Path=Date, StringFormat='g'}"
								Margin="10,2" MinWidth="150" />

						<Label Grid.Row="1" Grid.Column="0" Content="Canonicalization methods:" />
						<TextBox Grid.Row="1" Grid.Column="1"
								Text="{Binding CanonicalizationMethods, Mode=OneWay , Converter={StaticResource CollectionConverter}}"
								Margin="10,2" IsReadOnly="True" />

						<Label Grid.Row="2" Grid.Column="0" Content="Digest method:" />
						<TextBox Grid.Row="2" Grid.Column="1" Text="{Binding DigestMethod, Mode=OneWay}" Margin="10,2" IsReadOnly="True" />
						<Label Grid.Row="3" Grid.Column="0" Content="Digest Value read:" Style="{StaticResource DigestValueLabelStyle}" />
						<TextBox Grid.Row="3" Grid.Column="1" Text="{Binding DigestValueRead}" Margin="10,2" IsReadOnly="True">
							<TextBox.Style>
								<Style TargetType="TextBox" BasedOn="{StaticResource DigestValueTextboxStyle}">
									<Style.Triggers>
										<DataTrigger Binding="{Binding FileIntegrityValid}" Value="True">
											<Setter Property="Foreground" Value="{StaticResource Color.SuccessGreen}" />
										</DataTrigger>
										<DataTrigger Binding="{Binding FileIntegrityValid}" Value="False">
											<Setter Property="Foreground" Value="{StaticResource Color.ErrorRed}" />
										</DataTrigger>
									</Style.Triggers>
								</Style>
							</TextBox.Style>
						</TextBox>

						<Label Grid.Row="4" Grid.Column="0" Content="Digest Value computed:"
								Style="{StaticResource DigestValueLabelStyle}" />
						<TextBox Grid.Row="4" Grid.Column="1" Text="{Binding DigestValueComputed}" Margin="10,2" IsReadOnly="True">
							<TextBox.Style>
								<Style TargetType="TextBox" BasedOn="{StaticResource DigestValueTextboxStyle}">
									<Style.Triggers>
										<DataTrigger Binding="{Binding FileIntegrityValid}" Value="True">
											<Setter Property="Foreground" Value="{StaticResource Color.SuccessGreen}" />
										</DataTrigger>
										<DataTrigger Binding="{Binding FileIntegrityValid}" Value="False">
											<Setter Property="Foreground" Value="{StaticResource Color.ErrorRed}" />
										</DataTrigger>
									</Style.Triggers>
								</Style>
							</TextBox.Style>
						</TextBox>
					</Grid>
				</GroupBox>

				<GroupBox Grid.Row="3" Header="Job Integrity" Style="{DynamicResource CustomGroupboxStyle}">
					<Grid>
						<Grid.ColumnDefinitions>
							<ColumnDefinition Width="Auto" SharedSizeGroup="LabelsShareGroup" />
							<ColumnDefinition Width="*" />
						</Grid.ColumnDefinitions>
						<Grid.RowDefinitions>
							<RowDefinition />
							<RowDefinition />
							<RowDefinition />
							<RowDefinition />
						</Grid.RowDefinitions>
						<Label Grid.Row="0" Grid.Column="0" Content="Job CanonicalizationMethod:" />
						<TextBox Grid.Row="0" Grid.Column="1"
								Text="{Binding JobCanonicalizationMethodRead, Mode=OneWay, Converter={StaticResource CollectionConverter}}"
								Margin="10,2" IsReadOnly="True" />

						<Label Grid.Row="1" Grid.Column="0" Content="Job Digest Method:" />
						<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding JobDigestMethodRead, Mode=OneWay}"
								Margin="10,2" IsReadOnly="True" />

						<Label Grid.Row="2" Grid.Column="0" Content="Job Digest Value Read:"
								Style="{StaticResource DigestValueLabelStyle}" />
						<TextBox Grid.Row="2" Grid.Column="1" Text="{Binding JobDigestValueRead, Mode=OneWay}"
								Margin="10,2" IsReadOnly="True">
							<TextBox.Style>
								<Style TargetType="TextBox" BasedOn="{StaticResource DigestValueTextboxStyle}">
									<Setter Property="Foreground" Value="{StaticResource Color.ErrorRed}" />
									<Style.Triggers>
										<DataTrigger Binding="{Binding JobDigestMatchesReport}" Value="True">
											<Setter Property="Foreground" Value="{StaticResource Color.SuccessGreen}" />
										</DataTrigger>
									</Style.Triggers>
								</Style>
							</TextBox.Style>
						</TextBox>

						<Label Grid.Row="3" Grid.Column="0" Content="Job Digest Value Computed:"
								Style="{StaticResource DigestValueLabelStyle}" />
						<TextBox Grid.Row="3" Grid.Column="1" Text="{Binding JobDigestValueComputed, Mode=OneWay}"
								Margin="10,2" IsReadOnly="True">
							<TextBox.Style>
								<Style TargetType="TextBox" BasedOn="{StaticResource DigestValueTextboxStyle}">
									<Setter Property="Foreground" Value="{StaticResource Color.ErrorRed}" />
									<Style.Triggers>
										<DataTrigger Binding="{Binding JobDigestMatchesReport}" Value="True">
											<Setter Property="Foreground" Value="{StaticResource Color.SuccessGreen}" />
										</DataTrigger>
									</Style.Triggers>
								</Style>
							</TextBox.Style>
						</TextBox>
					</Grid>
				</GroupBox>

				<GroupBox Grid.Row="4" Header="Vehicle Components" Style="{DynamicResource CustomGroupboxStyle}">
					<Grid Grid.Column="0" Grid.Row="4" Grid.ColumnSpan="2" IsSharedSizeScope="True" Margin="10,10,0,0">
						<Grid.ColumnDefinitions>
							<ColumnDefinition Width="Auto" SharedSizeGroup="ComponentLabel" />
							<ColumnDefinition Width="Auto" SharedSizeGroup="certificationNbrLabel" />
							<ColumnDefinition Width="*" />
							<ColumnDefinition Width="Auto" SharedSizeGroup="dateLabel" />
							<ColumnDefinition Width="Auto" SharedSizeGroup="dateField" />
						</Grid.ColumnDefinitions>
						<Grid.RowDefinitions>
							<RowDefinition />
							<RowDefinition />
						</Grid.RowDefinitions>

						<Label Grid.Row="0" Grid.Column="0" Content="Vehicle" FontWeight="Bold" Margin="0,0,10,0" />
						<Label Grid.Row="0" Grid.Column="1" Content="VIN:" />
						<TextBox Grid.Row="0" Grid.Column="2" Text="{Binding ReportVIN, Mode=OneWay}"
								Margin="10,2" IsReadOnly="True" />

						<ItemsControl Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="5" DockPanel.Dock="Bottom"
									ItemsSource="{Binding Components}" Margin="0,5,0,0">
							<ItemsControl.ItemTemplate>
								<DataTemplate>
									<Grid Margin="0,5">
										<Grid.ColumnDefinitions>
											<ColumnDefinition Width="Auto" SharedSizeGroup="ComponentLabel" />
											<ColumnDefinition Width="Auto" SharedSizeGroup="certificationNbrLabel" />
											<ColumnDefinition Width="*" />
										</Grid.ColumnDefinitions>
										<Grid.RowDefinitions>
											<RowDefinition />
											<RowDefinition />
										</Grid.RowDefinitions>

										<Label Grid.Row="0" Grid.Column="0" Content="{Binding Component}" FontWeight="Bold" Margin="0,0,10,0" />
										<Label Grid.Row="0" Grid.Column="1" Content="Certification Number:" />
										<TextBox Grid.Row="0" Grid.Column="2" Text="{Binding CertificationNumber}"
												Margin="10,2" IsReadOnly="True">
											<TextBox.Style>
												<Style TargetType="TextBox">
													<Setter Property="IsEnabled" Value="True" />
													<Style.Triggers>
														<DataTrigger Binding="{Binding CertificationMethod}" Value="Standard values">
															<Setter Property="IsEnabled" Value="False" />
														</DataTrigger>
														<DataTrigger Binding="{Binding CertificationNumberMatchesJobComponent}" Value="False">
															<Setter Property="Foreground" Value="{StaticResource Color.ErrorRed}" />
															<Setter Property="ToolTip">
																<Setter.Value>
																	<TextBlock
																		Text="{Binding CertificationNumberExpected, StringFormat='{}Expected Certification Number: {0}'}" />
																</Setter.Value>
															</Setter>
														</DataTrigger>
													</Style.Triggers>
												</Style>
											</TextBox.Style>
										</TextBox>

										<Label Grid.Row="1" Grid.Column="1" Content="Digest Value:" />
										<TextBox Grid.Row="1" Grid.Column="2" Text="{Binding DigestValue}"
												Margin="10,2">
											<TextBox.Style>
												<Style TargetType="TextBox" BasedOn="{StaticResource DigestValueTextboxStyle}">
													<Style.Triggers>
														<DataTrigger Binding="{Binding DigestValueMatchesJobComponent}" Value="True">
															<Setter Property="Foreground" Value="{StaticResource Color.SuccessGreen}" />
														</DataTrigger>
														<DataTrigger Binding="{Binding DigestValueMatchesJobComponent}" Value="False">
															<Setter Property="Foreground" Value="{StaticResource Color.ErrorRed}" />
															<Setter Property="ToolTip">
																<Setter.Value>
																	<TextBlock Text="{Binding DigestValueExpected, StringFormat='{}Expected Digest Value: {0}'}" />
																</Setter.Value>
															</Setter>
														</DataTrigger>
													</Style.Triggers>
												</Style>
											</TextBox.Style>
										</TextBox>

									</Grid>
								</DataTemplate>
							</ItemsControl.ItemTemplate>

						</ItemsControl>
						<!--</Expander>-->
					</Grid>
				</GroupBox>
			</Grid>
		</DataTemplate>


		<BorderGapMaskConverter x:Key="BorderGapMaskConverter" />

		<Style x:Key="CustomGroupboxStyle" TargetType="{x:Type GroupBox}">
			<Setter Property="BorderBrush" Value="#D5DFE5" />
			<Setter Property="BorderThickness" Value="1" />
			<Setter Property="Template">
				<Setter.Value>
					<ControlTemplate TargetType="{x:Type GroupBox}">
						<Grid SnapsToDevicePixels="true">
							<Grid.ColumnDefinitions>
								<ColumnDefinition Width="6" />
								<ColumnDefinition Width="Auto" />
								<ColumnDefinition Width="*" />
								<ColumnDefinition Width="6" />
							</Grid.ColumnDefinitions>
							<Grid.RowDefinitions>
								<RowDefinition Height="Auto" />
								<RowDefinition Height="Auto" />
								<RowDefinition Height="*" />
								<RowDefinition Height="6" />
							</Grid.RowDefinitions>
							<Border BorderBrush="Transparent" BorderThickness="{TemplateBinding BorderThickness}"
									Background="{TemplateBinding Background}" Grid.ColumnSpan="4" Grid.Column="0" CornerRadius="4" Grid.Row="1"
									Grid.RowSpan="3" />
							<Border BorderBrush="White" BorderThickness="{TemplateBinding BorderThickness}" Grid.Column="0"
									Grid.ColumnSpan="4" CornerRadius="2" Grid.Row="1" Grid.RowSpan="3">
								<Border.OpacityMask>
									<MultiBinding ConverterParameter="7" Converter="{StaticResource BorderGapMaskConverter}">
										<Binding ElementName="Header" Path="ActualWidth" />
										<Binding Path="ActualWidth" RelativeSource="{RelativeSource Self}" />
										<Binding Path="ActualHeight" RelativeSource="{RelativeSource Self}" />
									</MultiBinding>
								</Border.OpacityMask>
							</Border>
							<Border x:Name="Header" Grid.Column="1" Padding="3,1,3,0" Grid.Row="0" Grid.RowSpan="2">
								<ContentPresenter ContentSource="Header" RecognizesAccessKey="True"
												SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
							</Border>
							<ContentPresenter Grid.ColumnSpan="2" Grid.Column="1" Margin="{TemplateBinding Padding}" Grid.Row="2"
											SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
						</Grid>
					</ControlTemplate>
				</Setter.Value>
			</Setter>
		</Style>

		<DockPanel DockPanel.Dock="Bottom" Margin="10,0,0,5">
			<Label DockPanel.Dock="Left">
				<Label.Content>
					<TextBlock Text="{Binding ErrorCount, StringFormat='{}{0} Warnings/Errors'}" />
				</Label.Content>
				<Label.Style>
					<Style TargetType="Label">
						<Setter Property="Foreground" Value="Red" />
						<Style.Triggers>
							<DataTrigger Binding="{Binding ErrorCount}" Value="0">
								<Setter Property="Foreground" Value="Black" />
							</DataTrigger>
						</Style.Triggers>
					</Style>
				</Label.Style>
			</Label>
			<Button DockPanel.Dock="Left" Margin="10,0,0,0" Content="Details..." HorizontalAlignment="Center" Width="91"
					Height="22" Click="Button_Click_1">
				<Button.Style>
					<Style TargetType="Button">
						<Setter Property="IsEnabled" Value="True" />
						<Style.Triggers>
							<DataTrigger Binding="{Binding ErrorCount}" Value="0">
								<Setter Property="IsEnabled" Value="False" />
							</DataTrigger>
						</Style.Triggers>
					</Style>
				</Button.Style>
			</Button>
			<Button DockPanel.Dock="Bottom" x:Name="btnBack" Content="Back" Command="{Binding ShowHomeViewCommand}"
					Margin="0,0,10,0" HorizontalAlignment="Right" Width="75" Height="22" />
		</DockPanel>

		<Label DockPanel.Dock="Top" x:Name="lblHeader" HorizontalAlignment="Center" Margin="0"
				Content="{Binding Name}" FontWeight="Bold" FontSize="18" />
		<Grid Margin="0,0,0,0" HorizontalAlignment="Stretch">
			<Grid.RowDefinitions>
				<RowDefinition Height="Auto" />
			</Grid.RowDefinitions>

			<ScrollViewer Grid.Row="0" VerticalScrollBarVisibility="Auto" HorizontalAlignment="Stretch"
						Margin="10,0,10,10" Background="{x:Static SystemColors.ControlLightBrush}" Grid.IsSharedSizeScope="True">
				<ItemsControl ItemsSource="{Binding Files}" Name="lstInput" Margin="3">
					<ItemsControl.ItemContainerStyle>
						<Style>
							<Setter Property="FrameworkElement.Margin" Value="0,2" />
						</Style>
					</ItemsControl.ItemContainerStyle>
					<ItemsControl.Resources>
						<DataTemplate DataType="{x:Type userControl:VectoJobFile}">
							<Border BorderBrush="White" BorderThickness="1" CornerRadius="2" Margin="0,0,3,0">
								<Expander Margin="2" Header="{Binding}" HorizontalAlignment="Stretch"
										Style="{DynamicResource HeaderStretchExpanderStyle}"
										HeaderTemplate="{DynamicResource ExpanderHeaderJobFile}"
										ContentTemplate="{DynamicResource ExpanderContentJobFile}"
										Content="{Binding}" />
							</Border>

						</DataTemplate>
						<DataTemplate DataType="{x:Type userControl:ReportXMLFile}">
							<Border BorderBrush="White" BorderThickness="1" CornerRadius="2" Margin="0,0,3,0">
								<Expander Margin="2" Header="{Binding}" HorizontalAlignment="Stretch"
										Style="{DynamicResource HeaderStretchExpanderStyle}"
										HeaderTemplate="{DynamicResource ExpanderHeader}" ContentTemplate="{DynamicResource ExpanderContentCustomerReport}"

						</DataTemplate>
						<DataTemplate DataType="{x:Type userControl:ManufacturerReportXMLFile}">
							<Border BorderBrush="White" BorderThickness="1" CornerRadius="2" Margin="0,0,3,0">
								<Expander Margin="2" Header="{Binding}" HorizontalAlignment="Stretch"
										Style="{DynamicResource HeaderStretchExpanderStyle}"
										HeaderTemplate="{DynamicResource ExpanderHeaderManufacturerReport}"
										ContentTemplate="{DynamicResource ExpanderContentManufacturerReport}"
										Content="{Binding}" />
							</Border>

						</DataTemplate>

				</ItemsControl>
			</ScrollViewer>

			<Grid Grid.Row="1" Margin="10,3,10,5" HorizontalAlignment="Center">
				<Grid.ColumnDefinitions>
					<ColumnDefinition Width="*" />
					<ColumnDefinition Width="50" />
					<ColumnDefinition Width="*" />
					<ColumnDefinition Width="50" />
					<ColumnDefinition Width="*" />
				</Grid.ColumnDefinitions>
				<Grid.RowDefinitions>
					<RowDefinition />
					<RowDefinition />
				</Grid.RowDefinitions>

				<TextBlock Grid.Row="0" Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center"
							TextAlignment="Center" Margin="5"
				</TextBlock>
				<ContentControl Grid.Row="1" Grid.Column="0" Width="50" Height="50" Margin="10,10,10,0">
					<ContentControl.LayoutTransform>
						<ScaleTransform ScaleX="1.5" ScaleY="1.5" />
					</ContentControl.LayoutTransform>
					<ContentControl.Style>
						<Style TargetType="ContentControl">
							<Setter Property="ContentTemplate" Value="{StaticResource Icon_NOK}" />
							<Style.Triggers>
								<DataTrigger Binding="{Binding JobFile.JobDataValid}" Value="True">
									<Setter Property="ContentTemplate" Value="{StaticResource Icon_OK}" />
								</DataTrigger>
							</Style.Triggers>
						</Style>
					</ContentControl.Style>
				</ContentControl>

				<TextBlock Grid.Row="0" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"
							TextAlignment="Center" Margin="5"
							FontSize="14" FontWeight="Bold">
Markus QUARITSCH's avatar
Markus QUARITSCH committed
					Job-Data matches<LineBreak /> Manufacturer Report
				</TextBlock>
				<ContentControl Grid.Row="1" Grid.Column="2" Width="50" Height="50" Margin="10,10,10,0">
					<ContentControl.LayoutTransform>
						<ScaleTransform ScaleX="1.5" ScaleY="1.5" />
					</ContentControl.LayoutTransform>
					<ContentControl.Style>
						<Style TargetType="ContentControl">
							<Setter Property="ContentTemplate" Value="{StaticResource Icon_NOK}" />
							<Style.Triggers>
								<DataTrigger Binding="{Binding ManufacturerReport.ManufacturerReportValid}" Value="True">
									<Setter Property="ContentTemplate" Value="{StaticResource Icon_OK}" />
								</DataTrigger>
							</Style.Triggers>
						</Style>
					</ContentControl.Style>
				</ContentControl>

				<TextBlock Grid.Row="0" Grid.Column="4" HorizontalAlignment="Center" VerticalAlignment="Center"
							TextAlignment="Center" Margin="5"
					Manufacturer Report<LineBreak/> matches<LineBreak /> Customer Report
				<ContentControl Grid.Row="1" Grid.Column="4" Width="50" Height="50" Margin="10,10,10,0">
					<ContentControl.LayoutTransform>
						<ScaleTransform ScaleX="1.5" ScaleY="1.5" />
					</ContentControl.LayoutTransform>
					<ContentControl.Style>
						<Style TargetType="ContentControl">
							<Setter Property="ContentTemplate" Value="{StaticResource Icon_NOK}" />
							<Style.Triggers>
								<DataTrigger Binding="{Binding CustomerReport.ManufacturerReportMatchesReport}" Value="True">
									<Setter Property="ContentTemplate" Value="{StaticResource Icon_OK}" />
								</DataTrigger>
							</Style.Triggers>
						</Style>
					</ContentControl.Style>
				</ContentControl>

			</Grid>
		</Grid>
</UserControl>