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"
x:Class="HashingTool.Views.VerifyResults"

Markus QUARITSCH
committed
mc:Ignorable="d">
<viewModel:VerifyResultDataViewModel />
</UserControl.DataContext>
<UserControl.Resources>
<helper:CollectionConverter x:Key="CollectionConverter" />
<DataTemplate x:Key="ExpanderHeader" DataType="viewModel:VectoXMLFile">

Markus QUARITSCH
committed
<DockPanel HorizontalAlignment="Stretch" VerticalAlignment="top" MinWidth="450">

Markus QUARITSCH
committed
<TextBlock DockPanel.Dock="Top" Text="{Binding Name}" FontWeight="Bold" />
<ContentControl DockPanel.Dock="Right" Width="35" Height="35" Margin="10,-10,10,0"
ToolTip="{Binding JobValidToolTip}">
<ContentControl.LayoutTransform>
<ScaleTransform ScaleX=".4" ScaleY=".4" />
</ContentControl.LayoutTransform>
<ContentControl.Style>
<Style TargetType="ContentControl">
<Setter Property="Content" Value="" />
<Style.Triggers>
<DataTrigger Binding="{Binding Valid}" Value="True">
<Setter Property="ContentTemplate" Value="{StaticResource Icon_OK}" />
</DataTrigger>
<DataTrigger Binding="{Binding Valid}" 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"

Markus QUARITSCH
committed
XMLFile="{Binding XMLFile}" Height="1" />
</DockPanel>
</DataTemplate>
<DataTemplate x:Key="ExpanderHeaderJobFile" DataType="viewModel:VectoJobFile">
<DockPanel HorizontalAlignment="Stretch" VerticalAlignment="top" MinWidth="450">
<TextBlock DockPanel.Dock="Top" Text="{Binding Name}" FontWeight="Bold" />

Markus QUARITSCH
committed
<ContentControl DockPanel.Dock="Right" Width="35" Height="35" Margin="10,-10,10,0"

Markus QUARITSCH
committed
ToolTip="{Binding JobValidToolTip}">

Markus QUARITSCH
committed
<ContentControl.LayoutTransform>
<ScaleTransform ScaleX=".4" ScaleY=".4" />
</ContentControl.LayoutTransform>
<ContentControl.Style>
<Style TargetType="ContentControl">
<Setter Property="Content" Value="" />
<Style.Triggers>

Markus QUARITSCH
committed
<DataTrigger Binding="{Binding JobDataValid}" Value="True">

Markus QUARITSCH
committed
<Setter Property="ContentTemplate" Value="{StaticResource Icon_OK}" />
</DataTrigger>

Markus QUARITSCH
committed
<DataTrigger Binding="{Binding JobDataValid}" Value="False">

Markus QUARITSCH
committed
<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="ExpanderContentJobFile" DataType="viewModel:VectoXMLFile">

Markus QUARITSCH
committed
<Grid Grid.IsSharedSizeScope="True">

Markus QUARITSCH
committed
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />

Markus QUARITSCH
committed
<RowDefinition />

Markus QUARITSCH
committed
</Grid.RowDefinitions>

Markus QUARITSCH
committed
<ColumnDefinition Width="Auto" SharedSizeGroup="LabelsShareGroup" />

Markus QUARITSCH
committed
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2">

Markus QUARITSCH
committed
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<Label>
<Label.Content>
<TextBlock
Text="{Binding XMLFile.XMLValidationErrors.Count, StringFormat='{}XML Validation: {0} Warnings/Errors'}" />
</Label.Content>
<Label.Style>
<Style TargetType="Label">
<Setter Property="Foreground" Value="Red" />
<Style.Triggers>
<DataTrigger Binding="{Binding XMLFile.XMLValidationErrors.Count}" Value="0">
<Setter Property="Foreground" Value="Black" />
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
<Button Margin="10,0,0,0" Content="Details..." HorizontalAlignment="Left" Width="91" Click="Button_Click">
<Button.Style>
<Style TargetType="Button">
<Setter Property="IsEnabled" Value="True" />
<Style.Triggers>
<DataTrigger Binding="{Binding XMLFile.XMLValidationErrors.Count}" Value="0">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</StackPanel>
<Label Grid.Row="1" Grid.Column="0" Content="Canonicalization methods:" />
<TextBox Grid.Row="1" Grid.Column="1"

Markus QUARITSCH
committed
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}"

Markus QUARITSCH
committed
Margin="10,2" IsReadOnly="True" Style="{StaticResource DigestValueTextboxStyle}" />

Markus QUARITSCH
committed
</Grid>
</DataTemplate>
<DataTemplate x:Key="ExpanderContentReport" DataType="viewModel:ReportXMLFile">

Markus QUARITSCH
committed
<Grid Grid.IsSharedSizeScope="True">

Markus QUARITSCH
committed
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>

Markus QUARITSCH
committed
<StackPanel Orientation="Horizontal" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2">

Markus QUARITSCH
committed
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
<Label>
<Label.Content>
<TextBlock Text="{Binding XMLFile.XMLValidationErrors.Count, StringFormat='{}{0} Warnings/Errors'}" />
</Label.Content>
<Label.Style>
<Style TargetType="Label">
<Setter Property="Foreground" Value="Red" />
<Style.Triggers>
<DataTrigger Binding="{Binding XMLFile.XMLValidationErrors.Count}" Value="0">
<Setter Property="Foreground" Value="Black" />
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
<Button Margin="10,0,0,0" Content="Details..." HorizontalAlignment="Left" Width="91" Click="Button_Click">
<Button.Style>
<Style TargetType="Button">
<Setter Property="IsEnabled" Value="True" />
<Style.Triggers>
<DataTrigger Binding="{Binding XMLFile.XMLValidationErrors.Count}" Value="0">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</StackPanel>

Markus QUARITSCH
committed
<GroupBox Grid.Row="1" 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 />
</Grid.RowDefinitions>

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

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

Markus QUARITSCH
committed

Markus QUARITSCH
committed
<Label Grid.Row="2" Grid.Column="0" Content="Digest Value read:" Style="{StaticResource DigestValueLabelStyle}" />
<TextBox Grid.Row="2" Grid.Column="1" Text="{Binding DigestValueRead}" Margin="10,2" IsReadOnly="True">
<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}" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>

Markus QUARITSCH
committed
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
<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">
<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}" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
</Grid>
</GroupBox>
<GroupBox Grid.Row="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}">

Markus QUARITSCH
committed
<Setter Property="Foreground" Value="{StaticResource Color.ErrorRed}" />

Markus QUARITSCH
committed
<Style.Triggers>
<DataTrigger Binding="{Binding JobDigestValid}" Value="True">
<Setter Property="Foreground" Value="{StaticResource Color.SuccessGreen}" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>

Markus QUARITSCH
committed

Markus QUARITSCH
committed
<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 JobDigestValid}" Value="True">
<Setter Property="Foreground" Value="{StaticResource Color.SuccessGreen}" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
</Grid>
</GroupBox>

Markus QUARITSCH
committed
</Grid>
</DataTemplate>

Markus QUARITSCH
committed
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
<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>

Markus QUARITSCH
committed
</UserControl.Resources>

Markus QUARITSCH
committed
<DockPanel>
<Button DockPanel.Dock="Bottom" x:Name="btnBack" Content="Back" Command="{Binding ShowHomeViewCommand}"
Margin="0,0,10,10"
HorizontalAlignment="Right"
Width="75" Height="22" VerticalAlignment="Bottom" />
<Label DockPanel.Dock="Top" x:Name="lblHeader" HorizontalAlignment="Center" Margin="0"

Markus QUARITSCH
committed
VerticalAlignment="Top"
Content="{Binding Name}" FontWeight="Bold" FontSize="18" />

Markus QUARITSCH
committed
<Grid Margin="0,0,0,0" HorizontalAlignment="Stretch">

Markus QUARITSCH
committed
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>

Markus QUARITSCH
committed
<ScrollViewer Grid.Row="0" VerticalScrollBarVisibility="Auto" HorizontalAlignment="Stretch"

Markus QUARITSCH
committed
Margin="10,0,10,10" Background="{x:Static SystemColors.ControlLightBrush}" Grid.IsSharedSizeScope="True">

Markus QUARITSCH
committed
<ItemsControl ItemsSource="{Binding Files}" Name="lstInput" Margin="3">
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="FrameworkElement.Margin" Value="0,2" />
</Style>
</ItemsControl.ItemContainerStyle>
<ItemsControl.Resources>

Markus QUARITSCH
committed
<DataTemplate DataType="{x:Type viewModel:VectoJobFile}">

Markus QUARITSCH
committed

Markus QUARITSCH
committed
<Border BorderBrush="White" BorderThickness="1" CornerRadius="2" Margin="0,0,3,0">

Markus QUARITSCH
committed
<Expander Margin="2" Header="{Binding}" HorizontalAlignment="Stretch"
Style="{DynamicResource HeaderStretchExpanderStyle}"

Markus QUARITSCH
committed
HeaderTemplate="{DynamicResource ExpanderHeaderJobFile}"

Markus QUARITSCH
committed
ContentTemplate="{DynamicResource ExpanderContentJobFile}"
Content="{Binding}" />
</Border>
</DataTemplate>
<DataTemplate DataType="{x:Type viewModel:ReportXMLFile}">

Markus QUARITSCH
committed
<Border BorderBrush="White" BorderThickness="1" CornerRadius="2" Margin="0,0,3,0">
<Expander Margin="2" Header="{Binding}" HorizontalAlignment="Stretch"
Style="{DynamicResource HeaderStretchExpanderStyle}"

Markus QUARITSCH
committed
HeaderTemplate="{DynamicResource ExpanderHeader}" ContentTemplate="{DynamicResource ExpanderContentReport}"
Content="{Binding}" />
</Border>

Markus QUARITSCH
committed
</ItemsControl.Resources>

Markus QUARITSCH
committed

Markus QUARITSCH
committed
<Grid Grid.Row="1" Margin="10,3,10,30" HorizontalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="50" />
<ColumnDefinition Width="*" />

Markus QUARITSCH
committed
<ColumnDefinition Width="50" />
<ColumnDefinition Width="*" />

Markus QUARITSCH
committed
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>

Markus QUARITSCH
committed
<TextBlock Grid.Row="0" Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center"
TextAlignment="Center" Margin="5"

Markus QUARITSCH
committed
FontSize="14" FontWeight="Bold">

Markus QUARITSCH
committed
Job-File valid

Markus QUARITSCH
committed
</TextBlock>
<ContentControl Grid.Row="1" Grid.Column="0" Width="50" Height="50" Margin="10,10,10,0">

Markus QUARITSCH
committed
<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">
Job-File digest <LineBreak /> matches<LineBreak /> Manufacturer Report
</TextBlock>
<ContentControl Grid.Row="1" Grid.Column="2" Width="50" Height="50" Margin="10,10,10,0">

Markus QUARITSCH
committed
<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>

Markus QUARITSCH
committed
<DataTrigger Binding="{Binding ManufacturerReport.JobDigestValid}" Value="True">

Markus QUARITSCH
committed
<Setter Property="ContentTemplate" Value="{StaticResource Icon_OK}" />
</DataTrigger>
</Style.Triggers>
</Style>
</ContentControl.Style>
</ContentControl>

Markus QUARITSCH
committed
<TextBlock Grid.Row="0" Grid.Column="4" HorizontalAlignment="Center" VerticalAlignment="Center"
TextAlignment="Center" Margin="5"

Markus QUARITSCH
committed
FontSize="14" FontWeight="Bold">
Job-File digest <LineBreak /> matches<LineBreak /> Customer Report
</TextBlock>

Markus QUARITSCH
committed
<ContentControl Grid.Row="1" Grid.Column="4" Width="50" Height="50" Margin="10,10,10,0">

Markus QUARITSCH
committed
<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>

Markus QUARITSCH
committed
<DataTrigger Binding="{Binding CustomerReport.JobDigestValid}" Value="True">

Markus QUARITSCH
committed
<Setter Property="ContentTemplate" Value="{StaticResource Icon_OK}" />
</DataTrigger>
</Style.Triggers>
</Style>
</ContentControl.Style>
</ContentControl>
</Grid>

Markus QUARITSCH
committed
</DockPanel>