source: trunk/CrypPlugins/PKCS1/WpfControls/Components/KeyInputControl.xaml @ 1893

Last change on this file since 1893 was 1893, checked in by schomburg, 11 years ago

added possibility to enter a RSA-Key manually

File size: 7.0 KB
Line 
1<UserControl x:Class="PKCS1.WpfControls.Components.KeyInputControl"
2    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4    xmlns:my="clr-namespace:PKCS1.WpfResources"
5    xmlns:lib="clr-namespace:PKCS1.Library"
6    xmlns:lang="clr-namespace:PKCS1.Resources.lang.Gui"
7    HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
8    <UserControl.Resources>
9        <my:ErrorsToMessageConverter x:Key="eToMConverter" />
10    </UserControl.Resources>
11    <Grid>
12        <Grid.RowDefinitions>
13            <RowDefinition Height="*" />
14        </Grid.RowDefinitions>
15        <GroupBox Grid.Row="0" Margin="0,15,0,0">
16            <GroupBox.Header>
17                <x:Static Member="lang:RsaKeyInputCtrl.inputKey"></x:Static>
18            </GroupBox.Header>
19            <Grid>
20                <Grid.RowDefinitions>
21                    <RowDefinition Height="auto" />
22                    <RowDefinition Height="auto" />
23                    <RowDefinition Height="auto" />
24                    <RowDefinition Height="auto" />
25                    <RowDefinition Height="auto" />
26                    <RowDefinition Height="auto" />
27                    <RowDefinition Height="auto" />
28                    <RowDefinition Height="auto" />
29                    <RowDefinition Height="auto" />
30                    <RowDefinition Height="auto" />
31                    <RowDefinition Height="auto" />
32                    <RowDefinition Height="auto" />
33                    <RowDefinition Height="auto" />
34                </Grid.RowDefinitions>
35               
36                <Label Grid.Row="0">
37                    <x:Static Member="lang:RsaKeyInputCtrl.pubKey"></x:Static>
38                </Label>
39                <TextBox Grid.Row="1" Name="tbPubKey" TextWrapping="Wrap" MaxWidth="450" MinHeight="20" Margin="5,0,5,0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" TextChanged="tbPubKey_TextChanged">
40                    <TextBox.Text>
41                        <Binding Source="{x:Static lib:RsaKey.Instance}" Path="PubExponent" UpdateSourceTrigger="PropertyChanged">
42                            <Binding.ValidationRules>
43                                <my:NumberValidationRule UpperBound="66000" LowerBound="0" />
44                            </Binding.ValidationRules>
45                        </Binding>
46                    </TextBox.Text>
47                </TextBox>
48                <TextBlock Grid.Row="2"  Foreground="Red" FontWeight="Bold" FontSize="10" Margin="5,0,5,5"
49                                Text="{Binding ElementName=tbPubKey,
50                                Path=(Validation.Errors),
51                                Converter={StaticResource eToMConverter}}" />
52
53
54                <Label Grid.Row="3"  Margin="0,5,5,0">
55                    <x:Static Member="lang:RsaKeyInputCtrl.keyLength"></x:Static></Label>
56                <TextBox Grid.Row="4" Name="tbKeyLength" TextWrapping="Wrap" MaxWidth="450" MinHeight="20" Margin="5,0,5,0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
57                    <TextBox.Text>
58                        <Binding Source="{x:Static lib:RsaKey.Instance}" Path="RsaKeySize" UpdateSourceTrigger="PropertyChanged">
59                            <Binding.ValidationRules>
60                                <my:NumberValidationRule UpperBound="4097" LowerBound="1023" />
61                            </Binding.ValidationRules>
62                        </Binding>
63                    </TextBox.Text>
64                </TextBox>
65                <TextBlock Grid.Row="5"  Foreground="Red" FontWeight="Bold" FontSize="10" Margin="5,0,5,5"
66                                Text="{Binding ElementName=tbKeyLength,
67                                Path=(Validation.Errors),
68                                Converter={StaticResource eToMConverter}}" />
69
70
71                <DockPanel Grid.Row="6">
72                    <Label HorizontalAlignment="left" Width="100" Margin="0,5,5,0">
73                        <x:Static Member="lang:RsaKeyInputCtrl.privKey"></x:Static>
74                    </Label>
75                    <DockPanel HorizontalAlignment="Right">
76                        <RadioButton Name="btnPrivKeyDecimal" GroupName="hexDezPriv" VerticalAlignment="Center" Margin="5,5,5,0" Checked="btnDecimal_Click">
77                            <x:Static Member="lang:RsaKeyInputCtrl.dec"></x:Static>
78                        </RadioButton>
79                        <RadioButton Name="btnPrivKeyHexadec" GroupName="hexDezPriv" VerticalAlignment="Center" Margin="5,5,5,0" Checked="btnHexadec_Click">
80                            <x:Static Member="lang:RsaKeyInputCtrl.hex"></x:Static>
81                        </RadioButton>
82                    </DockPanel>
83                </DockPanel>
84                <TextBox Grid.Row="7" Name="tbPrivKey" TextWrapping="Wrap" MaxWidth="450" MinHeight="80" Margin="5,0,5,0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" TextChanged="tbPrivKey_TextChanged">                   
85                </TextBox>
86                <Label  Grid.Row="8" Name="lblErrorPrivKey" Margin="5,0,5,5" Foreground="Red" FontWeight="Bold" FontSize="10"></Label>
87
88                <DockPanel  Grid.Row="9">
89                    <Label HorizontalAlignment="Left" Width="100"  Margin="0,5,5,0">
90                        <x:Static Member="lang:RsaKeyInputCtrl.mod"></x:Static>
91                    </Label>
92                    <DockPanel HorizontalAlignment="Right">
93                        <RadioButton Name="btnModDecimal" GroupName="hexDezMod" VerticalAlignment="Center" Margin="5,5,5,0" Checked="btnDecimal_Click">
94                            <x:Static Member="lang:RsaKeyInputCtrl.dec"></x:Static>
95                        </RadioButton>
96                        <RadioButton Name="btnModHexadec" GroupName="hexDezMod" VerticalAlignment="Center" Margin="5,5,5,0" Checked="btnHexadec_Click">
97                            <x:Static Member="lang:RsaKeyInputCtrl.hex"></x:Static>
98                        </RadioButton>
99                    </DockPanel>
100                </DockPanel>
101                <TextBox Grid.Row="10" Name="tbModulus" TextWrapping="Wrap" MaxWidth="450" MinHeight="80" Margin="5,0,5,0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" TextChanged="tbModulus_TextChanged">
102                </TextBox>
103                <Label  Grid.Row="11" Name="lblErrorModulus" Foreground="Red" FontWeight="Bold" FontSize="10" Margin="5,0,5,5"></Label>
104
105                <DockPanel Grid.Row="12">
106                    <Label Name="lblResult" HorizontalAlignment="Left" Foreground="Red" FontWeight="Bold" FontSize="10"></Label>
107                    <Button Name="btnValInput" HorizontalAlignment="Right" Click="btnValInput_Click" Height="25" Width="130" VerticalAlignment="Bottom">
108                        <x:Static Member="lang:RsaKeyInputCtrl.takeInput"></x:Static>
109                    </Button>
110                </DockPanel>
111            </Grid>
112        </GroupBox>
113    </Grid>
114</UserControl>
115
Note: See TracBrowser for help on using the repository browser.