Skip to content

Commit

Permalink
Improvate Symmetric Key control auto sizing
Browse files Browse the repository at this point in the history
  • Loading branch information
Maxhy committed Mar 28, 2024
1 parent 7df744e commit e694bb1
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 67 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -34,22 +34,20 @@
<CheckBox Content="{x:Static properties:Resources.GenerateSAMUnlockKey}" IsChecked="{Binding ChangeSAMUnlockKey}" Margin="5" />
</WrapPanel>
<Expander HorizontalAlignment="Stretch" Header="{x:Static properties:Resources.PICCKey}" IsExpanded="True">
<StackPanel Orientation="Vertical" TextBlock.Foreground="{DynamicResource MaterialDesignBody}" Margin="24,8,24,16">
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBox Grid.Row="0" Text="{Binding PICCAID, Mode=TwoWay, Converter={StaticResource ByteArrayToStringConverter}}"
materialDesign:HintAssist.HelperText="{x:Static properties:Resources.DESFireAIDHelper}"
materialDesign:HintAssist.Hint="{x:Static properties:Resources.DESFireAID}" Margin="0,0,0,10"/>
<wpfappctrls:NumericUpDownControl MinValue="0" MaxValue="255" CurrentValue="{Binding PICCKeyNo, Mode=TwoWay}" Grid.Row="1"
HelperText="{x:Static properties:Resources.DESFireKeyNumberHelper}"
Hint="{x:Static properties:Resources.DESFireKeyNumber}"/>
<libui:KeyContainerControl Grid.Row="2" DataContext="{Binding PICCKey}" ShowKeyLink="False" />
</Grid>
</StackPanel>
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBox Grid.Row="0" Text="{Binding PICCAID, Mode=TwoWay, Converter={StaticResource ByteArrayToStringConverter}}"
materialDesign:HintAssist.HelperText="{x:Static properties:Resources.DESFireAIDHelper}"
materialDesign:HintAssist.Hint="{x:Static properties:Resources.DESFireAID}" Margin="5,5,5,10"/>
<wpfappctrls:NumericUpDownControl MinValue="0" MaxValue="255" CurrentValue="{Binding PICCKeyNo, Mode=TwoWay}" Grid.Row="1"
HelperText="{x:Static properties:Resources.DESFireKeyNumberHelper}"
Hint="{x:Static properties:Resources.DESFireKeyNumber}" Margin="5"/>
<libui:KeyContainerControl Grid.Row="2" DataContext="{Binding PICCKey}" ShowKeyLink="False" />
</Grid>
</Expander>
</StackPanel>
</DockPanel>
Expand Down
2 changes: 1 addition & 1 deletion KeyManager.Library.UI/KeyVersionExtControl.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@
</Grid.RowDefinitions>
<wpfappctrls:NumericUpDownControl Hint="{x:Static properties:Resources.KeyVersion}" HelperText="{x:Static properties:Resources.KeyVersionHelper}" Grid.Row="0"
HorizontalAlignment="Left" Width="250" MaxValue="255" VerticalAlignment="Center"
CurrentValue="{Binding Version, Mode=TwoWay}" />
CurrentValue="{Binding Version, Mode=TwoWay}" Margin="5" />
</Grid>
</UserControl>
95 changes: 45 additions & 50 deletions KeyManager.Library.UI/SymmetricKeyControl.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,60 +39,55 @@
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" HorizontalAlignment="Right" Text="{Binding Name}" />
<Grid Grid.Row="1" Visibility="{Binding IsRealKeyMateriel, Converter={StaticResource InverseBooleanToVisibilityConverter}}">
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<TextBox Margin="8,8,8,20" Grid.Row="0" Width="380"
<DockPanel Grid.Row="1" LastChildFill="True" Visibility="{Binding IsRealKeyMateriel, Converter={StaticResource InverseBooleanToVisibilityConverter}}">
<TextBox Margin="0,5,0,20" MinWidth="350"
materialDesign:HintAssist.HelperText="{x:Static properties:Resources.GenericValue}"
materialDesign:HintAssist.Hint="{x:Static properties:Resources.GenericValue}"
MaxLength="{Binding Path=OverrideSize, Converter={StaticResource ByteLengthToCharLengthConverter}}"
Text="{Binding Path=Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnExceptions=True}"/>
</Grid>
<Grid Grid.Row="1" Visibility="{Binding IsRealKeyMateriel, Converter={StaticResource BooleanToVisibilityConverter}}">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<PasswordBox Margin="8,8,8,20" Grid.Row="0" Grid.ColumnSpan="2" Width="380"
materialDesign:HintAssist.HelperText="{x:Static properties:Resources.KeyValueHelper}"
materialDesign:HintAssist.Hint="{x:Static properties:Resources.KeyValue}"
materialDesign:TextFieldAssist.HasClearButton="True"
materialDesign:TextFieldAssist.CharacterCounterVisibility="Visible"
MaxLength="{Binding Path=Key.KeySize, Converter={StaticResource ByteLengthToCharLengthConverter}, ElementName=keyControl}"
Style="{StaticResource MaterialDesignFloatingHintRevealPasswordBox}"
materialDesign:PasswordBoxAssist.Password="{Binding Path=Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnExceptions=True}" />
<TextBox x:Name="tbxKCV" Grid.Column="0" Grid.Row="1" Margin="8"
materialDesign:HintAssist.HelperText="{x:Static properties:Resources.KCVHelper}"
materialDesign:HintAssist.Hint="{x:Static properties:Resources.KCV}"
Visibility="{Binding ShowKCV, ElementName=keyControl, Converter={StaticResource BooleanToVisibilityConverter}}"
IsReadOnly="True">
<TextBox.Text>
<MultiBinding Converter="{StaticResource KeyChecksumConverter}" Mode="OneWay">
<Binding Path="SelectedKeyChecksumAlgorithm" ElementName="keyControl" />
<Binding Path="Key" ElementName="keyControl" />
<Binding Path="KeyChecksumIV" ElementName="keyControl" />
<Binding Path="Value" />
</MultiBinding>
</TextBox.Text>
</TextBox>
<ComboBox Grid.Column="1" Grid.Row="1" Margin="8"
ItemsSource="{Binding Path=KeyChecksumAlgorithms, Mode=OneWay, ElementName=keyControl}"
SelectedItem="{Binding Path=SelectedKeyChecksumAlgorithm, Mode=TwoWay, ElementName=keyControl}"
Visibility="{Binding ShowKCV, ElementName=keyControl, Converter={StaticResource BooleanToVisibilityConverter}}"
materialDesign:HintAssist.HelperText="{x:Static properties:Resources.KCVAlgorithmHelper}"
materialDesign:HintAssist.Hint="{x:Static properties:Resources.KCVAlgorithm}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</Grid>
</DockPanel>
<DockPanel Grid.Row="1" LastChildFill="True" Visibility="{Binding IsRealKeyMateriel, Converter={StaticResource BooleanToVisibilityConverter}}">
<Grid DockPanel.Dock="Bottom">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBox Grid.Column="0" x:Name="tbxKCV" Margin="0,5,0,5"
materialDesign:HintAssist.HelperText="{x:Static properties:Resources.KCVHelper}"
materialDesign:HintAssist.Hint="{x:Static properties:Resources.KCV}"
Visibility="{Binding ShowKCV, ElementName=keyControl, Converter={StaticResource BooleanToVisibilityConverter}}"
IsReadOnly="True">
<TextBox.Text>
<MultiBinding Converter="{StaticResource KeyChecksumConverter}" Mode="OneWay">
<Binding Path="SelectedKeyChecksumAlgorithm" ElementName="keyControl" />
<Binding Path="Key" ElementName="keyControl" />
<Binding Path="KeyChecksumIV" ElementName="keyControl" />
<Binding Path="Value" />
</MultiBinding>
</TextBox.Text>
</TextBox>
<ComboBox Grid.Column="1" Margin="0,5,0,5"
ItemsSource="{Binding Path=KeyChecksumAlgorithms, Mode=OneWay, ElementName=keyControl}"
SelectedItem="{Binding Path=SelectedKeyChecksumAlgorithm, Mode=TwoWay, ElementName=keyControl}"
Visibility="{Binding ShowKCV, ElementName=keyControl, Converter={StaticResource BooleanToVisibilityConverter}}"
materialDesign:HintAssist.HelperText="{x:Static properties:Resources.KCVAlgorithmHelper}"
materialDesign:HintAssist.Hint="{x:Static properties:Resources.KCVAlgorithm}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</Grid>
<PasswordBox Margin="0,5,0,20" Grid.Row="0" Grid.ColumnSpan="2" MinWidth="350"
materialDesign:HintAssist.HelperText="{x:Static properties:Resources.KeyValueHelper}"
materialDesign:HintAssist.Hint="{x:Static properties:Resources.KeyValue}"
materialDesign:TextFieldAssist.HasClearButton="True"
materialDesign:TextFieldAssist.CharacterCounterVisibility="Visible"
MaxLength="{Binding Path=Key.KeySize, Converter={StaticResource ByteLengthToCharLengthConverter}, ElementName=keyControl}"
Style="{StaticResource MaterialDesignFloatingHintRevealPasswordBox}"
materialDesign:PasswordBoxAssist.Password="{Binding Path=Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnExceptions=True}" />
</DockPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
Expand Down

0 comments on commit e694bb1

Please sign in to comment.