-
Notifications
You must be signed in to change notification settings - Fork 0
/
ProductBrowser.xaml
374 lines (329 loc) · 23.5 KB
/
ProductBrowser.xaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
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
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
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
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
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
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
<lm:ScalableWindow x:Class="HGM.Hotbird64.LicenseManager.ProductBrowser" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:HGM.Hotbird64.LicenseManager"
xmlns:lm="clr-namespace:HGM.Hotbird64.LicenseManager" mc:Ignorable="d" Title="License Manager Product Browser" Height="768" Width="1024"
DataContext="{Binding RelativeSource={RelativeSource Self}}"
>
<local:ScalableWindow.CommandBindings>
<CommandBinding Command="{x:Static local:ProductBrowser.InstallGeneratedKey}" CanExecute="InstallGenerated_CanExecute" Executed="InstallGenerated_Executed" />
<CommandBinding x:Name="GvlkInstall" Command="{x:Static local:ProductBrowser.InstallGvlk}" CanExecute="GvlkInstall_CanExecute"
Executed="GvlkInstall_Executed" />
</local:ScalableWindow.CommandBindings>
<Grid x:Name="TopElement">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400*" />
<ColumnDefinition Width="500*" />
</Grid.ColumnDefinitions>
<GridSplitter HorizontalAlignment="Right" VerticalAlignment="Stretch" Grid.Column="0" Grid.RowSpan="9999" ResizeBehavior="CurrentAndNext" Width="4"
Margin="0,8,-2,5" />
<GroupBox x:Name="GroupBoxProductTree" Header="Products" Margin="5,5,5,5" Grid.RowSpan="9999" Grid.Column="0">
<TreeView x:Name="ProductTree" BorderBrush="Transparent" BorderThickness="0">
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<EventSetter Event="Collapsed" Handler="TreeViewItem_Collapse" />
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
</GroupBox>
<Grid Grid.Column="1" x:Name="MainGrid">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ScrollViewer Grid.Row="0" VerticalScrollBarVisibility="Auto">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid x:Name="EpidInput" Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition x:Name="TextColumn" Width="*"/>
<ColumnDefinition x:Name="PasswordColumn" Width="0"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Margin="5,5,5,0" TextWrapping="Wrap" HorizontalAlignment="Center" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2">Enter an Extended PID, an SKU GUID or a Product Key</TextBlock>
<TextBox Visibility="Visible" HorizontalAlignment="Stretch" Margin="5,0,5,5" HorizontalContentAlignment="Center" FontSize="14" Width="Auto" Grid.Column="0" Grid.Row="1"
x:Name="TextBoxEpidInput" TextChanged="textBox_EpidInput_TextChanged" />
<PasswordBox Visibility="Collapsed" Background="{Binding ElementName=TextBoxEpidInput, Path=Background}" Margin="5,0,5,5" HorizontalContentAlignment="Center" FontSize="14" Width="Auto" Grid.Column="1" Grid.Row="1"
x:Name="PassWordBoxEpidInput" PasswordChar="•" PasswordChanged="PassWordBoxEpidInput_PasswordChanged"/>
<CheckBox x:Name="CheckBoxHideInput" Margin="0,3,5,5" IsChecked="False" Content="Hide" Grid.Column="2" Grid.Row="1" Click="CheckBoxHideInput_Click"/>
<TextBlock x:Name="TextBlockInputErrors" Foreground="Red" TextAlignment="Center" Visibility="Collapsed" Margin="0,2,0,0" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2"/>
</Grid>
<GroupBox x:Name="GroupBoxProductDetail" Grid.Row="1" Header="Product Details" Margin="5,5,5,5">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Visibility="{Binding ElementName=TextBoxSource, Path=Visibility}" Content="Product Key Applies for " Grid.Row="0" Grid.Column="0" HorizontalAlignment="Left" />
<TextBox Grid.Row="0" Grid.Column="1" Width="Auto" Name="TextBoxSource" Style="{StaticResource StandardTextBox}" />
<Label Visibility="{Binding ElementName=TextBoxSource, Path=Visibility}" Content="Product Name" Grid.Row="1" Grid.Column="0" HorizontalAlignment="Left" />
<TextBox Visibility="{Binding ElementName=TextBoxSource, Path=Visibility}" Grid.Row="1" Grid.Column="1" Width="Auto" Name="TextBoxProductName" Style="{StaticResource StandardTextBox}" Height="Auto"
TextWrapping="Wrap" />
<Label Visibility="{Binding ElementName=TextBoxSource, Path=Visibility}" Content="SKU ID" Grid.Row="2" Grid.Column="0" HorizontalAlignment="Left" />
<TextBox Visibility="{Binding ElementName=TextBoxSource, Path=Visibility}" Grid.Row="2" Grid.Column="1" Width="Auto" x:Name="TextBoxSkuId" Style="{StaticResource StandardTextBox}" />
<Label Visibility="{Binding ElementName=TextBoxSource, Path=Visibility}" Content="Edition" Grid.Row="3" Grid.Column="0" HorizontalAlignment="Left" />
<TextBox Visibility="{Binding ElementName=TextBoxSource, Path=Visibility}" Grid.Row="3" Grid.Column="1" Width="Auto" x:Name="TextBoxEdition" Style="{StaticResource StandardTextBox}" Height="Auto"
TextWrapping="Wrap" />
<Label Visibility="{Binding ElementName=TextBoxSource, Path=Visibility}" Content="License" Grid.Row="4" Grid.Column="0" HorizontalAlignment="Left" />
<TextBox Visibility="{Binding ElementName=TextBoxSource, Path=Visibility}" Grid.Row="4" Grid.Column="1" Width="Auto" x:Name="TextBoxLicense" Style="{StaticResource StandardTextBox}" />
<Label Visibility="{Binding ElementName=TextBoxGvlk, Path=Visibility}" Content="GVLK From Database" Grid.Row="5" Grid.Column="0" />
<TextBox ToolTip="Double click, press CTRL-I or use right mouse button to check or install this GVLK" FontWeight="DemiBold" Grid.Row="5"
Grid.Column="1" Width="Auto" Visibility="Collapsed" x:Name="TextBoxGvlk" Style="{StaticResource StandardTextBox}"
PreviewMouseLeftButtonDown="textBox_Gvlk_MouseLeftButtonDown">
<TextBox.ContextMenu>
<ContextMenu>
<MenuItem Command="Copy" />
<MenuItem Command="{x:Static local:ProductBrowser.InstallGvlk}" />
</ContextMenu>
</TextBox.ContextMenu>
</TextBox>
<Label Visibility="{Binding ElementName=GridEpid, Path=Visibility}" VerticalAlignment="Top" Content="Extended PID" Grid.Row="6"
Grid.Column="0" HorizontalAlignment="Left" />
<Grid x:Name="GridEpid" VerticalAlignment="Top" Grid.Row="6" Grid.Column="1">
<Grid.Resources>
<Style TargetType="TextBlock" x:Key="EPidLabels">
<Setter Property="FontSize" Value="10" />
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="TextAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Bottom" />
<Setter Property="ToolTipService.ShowDuration" Value="30000" />
</Style>
<Style TargetType="TextBlock" x:Key="ToolTip">
<Setter Property="MaxWidth" Value="400" />
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="TextAlignment" Value="Left" />
</Style>
</Grid.Resources>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Style="{StaticResource EPidLabels}" Text="Platform ID" Grid.Column="0" MaxWidth="40">
<TextBlock.ToolTip>
<TextBlock Style="{StaticResource ToolTip}"
Text="Not much is known about the Platform ID. It is a value that is always the same for one or more operating systems. The value shown is an example only that appears if you install the corresponding key on this machine." />
</TextBlock.ToolTip>
</TextBlock>
<TextBlock Style="{StaticResource EPidLabels}" Text="Group ID" Grid.Row="0" Grid.Column="2" MaxWidth="40">
<TextBlock.ToolTip>
<TextBlock Style="{StaticResource ToolTip}"
Text='The Group ID is part of the Key itself. Each Product (SKU ID) has only one Group ID but multiple SKU IDs can share the same Group ID. The Group ID and the Key ID (aka Key Serial Number) is all you need to generate a Key. Note: The Group ID is often incorretly referred as "Crypto ID" by other KMS tools.' />
</TextBlock.ToolTip>
</TextBlock>
<TextBlock Style="{StaticResource EPidLabels}" Text="Key ID (part 1)" Grid.Row="0" Grid.Column="4" MaxWidth="35">
<TextBlock.ToolTip>
<TextBlock x:Name="ToolTipKeyId" Style="{StaticResource ToolTip}"
Text="The Key ID (aka Key Serial Number) is a single number (divided into part 1 and part 2 for better readability only). It is part of the Key itself. Together with the Group ID it determines the product for which the Key can be used. Each Product has a range of valid Key IDs (listed below for the current Product)." />
</TextBlock.ToolTip>
</TextBlock>
<TextBlock Style="{StaticResource EPidLabels}" Text="Key ID (part 2)" Grid.Row="0" Grid.Column="6" MaxWidth="50">
<TextBlock.ToolTip>
<TextBlock Style="{StaticResource ToolTip}"
Text="The Key ID (aka Key Serial Number) is a single number (divided into part 1 and part 2 for better readability only). It is part of the Key itself. Together with the Group ID it determines the product for which the Key can be used. Each Product has a range of valid Key IDs (listed below for the current Product)." />
</TextBlock.ToolTip>
</TextBlock>
<TextBlock Style="{StaticResource EPidLabels}" Text="Key Type" Grid.Row="0" Grid.Column="8" MaxWidth="25">
<TextBlock.ToolTip>
<TextBlock Style="{StaticResource ToolTip}"
Text="This is the type of the Key (0 = Retail, 1 = Unknown, 2 = OEM, 3 = Volume License). The Key Type is not part of the Key. You must have a valid pkconfig database to determine the Key Type." />
</TextBlock.ToolTip>
</TextBlock>
<TextBlock Style="{StaticResource EPidLabels}" Text="LCID" Grid.Row="0" Grid.Column="10">
<TextBlock.ToolTip>
<TextBlock Style="{StaticResource ToolTip}"
Text="This is the LCID (Language Identifier) of the OS System Locale. It is not part of the Key. The value shown is an example only that appears if you install the corresponding Key on this machine." />
</TextBlock.ToolTip>
</TextBlock>
<TextBlock Style="{StaticResource EPidLabels}" Text="OS Build" Grid.Row="0" Grid.Column="12">
<TextBlock.ToolTip>
<TextBlock Style="{StaticResource ToolTip}"
Text="This is the OS Build number followed by .0000. It is not part of the Key. The value shown is an example only that appears if you install the corresponding Key on this machine." />
</TextBlock.ToolTip>
</TextBlock>
<TextBlock Style="{StaticResource EPidLabels}" Text="Install Date" Grid.Row="0" Grid.Column="14">
<TextBlock.ToolTip>
<TextBlock Style="{StaticResource ToolTip}"
Text="This is the date when the correspondig key was installed. It is not part of the Key. The value shown is an example only that appears if you install the Key today." />
</TextBlock.ToolTip>
</TextBlock>
<TextBlock Text="-" Grid.Column="1" Grid.Row="1" />
<TextBlock Text="-" Grid.Column="3" Grid.Row="1" />
<TextBlock Text="-" Grid.Column="5" Grid.Row="1" />
<TextBlock Text="-" Grid.Column="7" Grid.Row="1" />
<TextBlock Text="-" Grid.Column="9" Grid.Row="1" />
<TextBlock Text="-" Grid.Column="11" Grid.Row="1" />
<TextBlock Text="-" Grid.Column="13" Grid.Row="1" />
<TextBox IsReadOnly="True" Grid.Row="1" Grid.Column="0" Text="{Binding PlatformId, UpdateSourceTrigger=PropertyChanged, Mode=OneWay}"/>
<TextBox x:Name="TextBoxGroupId" IsReadOnly="True" Grid.Row="1" Grid.Column="2" />
<TextBox x:Name="TextBoxKeyId1" Grid.Row="1" Grid.Column="4" MaxLength="3" IsReadOnly="False" MinWidth="35" TextChanged="textBox_KeyId_TextChanged" />
<TextBox x:Name="TextBoxKeyId2" Grid.Row="1" Grid.Column="6" MaxLength="6" IsReadOnly="False" MinWidth="50" TextChanged="textBox_KeyId_TextChanged" />
<TextBox x:Name="TextBoxType" IsReadOnly="True" Grid.Row="1" Grid.Column="8" />
<TextBox x:Name="TextBoxLcid" IsReadOnly="True" Grid.Row="1" Grid.Column="10" />
<TextBox
Grid.Row="1" Grid.Column="12"
Text="{Binding BuildNumber, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" MinWidth="70"
Background="{Binding IsValidBuildNumber, Converter={lm:Bool2Brush}}" MaxLength="10"
/>
<TextBox x:Name="TextBoxDate" IsReadOnly="True" Grid.Row="1" Grid.Column="14" />
</Grid>
<Label Content="Complete EPID" Grid.Row="7" Grid.Column="0"
Visibility="{Binding FullEPid, UpdateSourceTrigger=PropertyChanged, Mode=OneWay, Converter={lm:ValidEpid2Visible}}" HorizontalAlignment="Left" />
<TextBox
Margin="0,6,0,3" HorizontalAlignment="Stretch"
Grid.Row="7" Grid.Column="1" Width="Auto"
Style="{StaticResource StandardTextBox}"
Text="{Binding FullEPid, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"
TextChanged="TextBoxEPid_OnTextChanged"
Visibility="{Binding FullEPid, UpdateSourceTrigger=PropertyChanged, Mode=OneWay, Converter={lm:ValidEpid2Visible}}"
/>
<Label Visibility="{Binding ElementName=TextBoxPartNumber, Path=Visibility}" Content="Part Number" Grid.Row="9" Grid.Column="0" HorizontalAlignment="Left" />
<TextBox Grid.Row="9" Visibility="{Binding ElementName=TextBoxSource, Path=Visibility}" Grid.Column="1" Width="Auto" x:Name="TextBoxPartNumber" Style="{StaticResource StandardTextBox}" />
<Button Height="22" Margin="0,1,0,1" Visibility="Collapsed" x:Name="GenerateButton" Grid.Row="10" Grid.Column="1" Content="_Generate Keys"
HorizontalAlignment="Left" Width="Auto" Click="GenerateButton_Click" />
</Grid>
</GroupBox>
<GroupBox Visibility="Collapsed" Header="Generated Keys" Margin="5,5,5,5" x:Name="GroupBoxGenerated" Grid.Column="0" Grid.Row="2"
VerticalAlignment="Stretch">
<StackPanel Orientation="Vertical">
<TextBlock Foreground="Red" TextWrapping="Wrap">
Generated Keys cannot be used for online activation with Microsoft servers. They can be used for KMS activation
but in no case you will be able to acquire a Windows Genuine Ticket.
</TextBlock>
<DataGrid x:Name="DataGridKeys" SelectionMode="Single" AutoGenerateColumns="False" GridLinesVisibility="All" HorizontalGridLinesBrush="LightGray"
VerticalGridLinesBrush="LightGray" ColumnWidth="*" SelectionUnit="Cell" MouseLeftButtonDown="DataGrid_Keys_MouseLeftButtonDown"
LoadingRow="DataGrid_LoadingRow">
<DataGrid.ContextMenu>
<ContextMenu>
<MenuItem Command="Copy" />
<MenuItem Command="{x:Static local:ProductBrowser.InstallGeneratedKey}" />
</ContextMenu>
</DataGrid.ContextMenu>
<DataGrid.Columns>
<DataGridTextColumn Header="Key" Width="*" Binding="{Binding Path=.}" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
</StackPanel>
</GroupBox>
<GroupBox Visibility="Collapsed" x:Name="GroupBoxCsvlk" Margin="5,5,5,5" Grid.Column="0" Grid.Row="4"
Header="This is a CSVLK product that activates SKUs with the following KMS IDs">
<DataGrid x:Name="DataGridCsvlk" SelectionMode="Single" AutoGenerateColumns="False" HorizontalGridLinesBrush="LightGray"
VerticalGridLinesBrush="Transparent" ColumnWidth="Auto" SelectionUnit="Cell" LoadingRow="DataGrid_LoadingRow" HeadersVisibility="None"
GridLinesVisibility="Horizontal">
<DataGrid.ContextMenu>
<ContextMenu>
<MenuItem Command="Copy" />
</ContextMenu>
</DataGrid.ContextMenu>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding}" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
</GroupBox>
<GroupBox x:Name="GroupBoxKeyRanges" Visibility="{Binding ElementName=TextBoxProductName, Path=Visibility}" Grid.Column="0" VerticalAlignment="Stretch" Grid.Row="3"
Header="Key ID Ranges" Margin="5,5,5,5" Height="Auto">
<DataGrid x:Name="DataGridRanges" SelectionMode="Single" AutoGenerateColumns="False" GridLinesVisibility="All" HorizontalGridLinesBrush="LightGray"
VerticalGridLinesBrush="LightGray" ColumnWidth="Auto" SelectionUnit="Cell" LoadingRow="DataGrid_LoadingRow">
<DataGrid.ContextMenu>
<ContextMenu>
<MenuItem Command="Copy" />
</ContextMenu>
</DataGrid.ContextMenu>
<DataGrid.Columns>
<DataGridTextColumn Header="From" Binding="{Binding Start, StringFormat={}{0:000-000000}}" IsReadOnly="True">
<DataGridTextColumn.CellStyle>
<Style>
<Setter Property="FrameworkElement.HorizontalAlignment" Value="Right" />
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="To" Binding="{Binding End, StringFormat={}{0:000-000000}}" IsReadOnly="True">
<DataGridTextColumn.CellStyle>
<Style>
<Setter Property="FrameworkElement.HorizontalAlignment" Value="Right" />
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="Part Number" Binding="{Binding PartNumber}" IsReadOnly="True" />
<DataGridTextColumn Header="Usage" Binding="{Binding EulaType}" IsReadOnly="True" />
<DataGridTextColumn Header="Total Keys Available" Binding="{Binding KeysAvailable}" IsReadOnly="True">
<DataGridTextColumn.CellStyle>
<Style>
<Setter Property="FrameworkElement.HorizontalAlignment" Value="Right" />
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
<DataGridTemplateColumn Header="Still Valid" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding IsValid}" d:DataContext="{d:DesignData }" />
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Product Key Applies for " Binding="{Binding FileName}" IsReadOnly="True"/>
</DataGrid.Columns>
</DataGrid>
</GroupBox>
<WrapPanel Orientation="Horizontal" Grid.Row="5" HorizontalAlignment="Right" Margin="5,5,5,5">
<Button MinWidth="70" Height="24" x:Name="InstallButton" Content="_Install Key" Margin="5,0,5,5" Click="Button_Install_Click" Visibility="Collapsed"/>
<Button MinWidth="70" Height="24" x:Name="CheckButton" Content="Check _Key" Margin="5,0,5,5" Click="Button_Check_Click" Visibility="Collapsed" />
<Button MinWidth="70" Height="24" x:Name="CheckOnlineButton" Content="Check _Online" Margin="5,0,5,5" Click="CheckOnlineButton_OnClick" Visibility="Collapsed"/>
</WrapPanel>
</Grid>
</ScrollViewer>
<Rectangle Visibility="{Binding ElementName=StatusPanel, Path=Visibility}" Grid.Row="1" Fill="#f0f0f0" />
<DockPanel Visibility="Collapsed" MinHeight="24" x:Name="StatusPanel" Grid.Row="1">
<TextBlock Name="Status" Margin="5,0,0,0" VerticalAlignment="Center">Initializing...</TextBlock>
<ProgressBar Name="ProgressBar" IsIndeterminate="False" Visibility="Visible" Margin="5,4,5,4" />
</DockPanel>
</Grid>
</Grid>
</lm:ScalableWindow>