|
12 | 12 | xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
|
13 | 13 | xmlns:properties="clr-namespace:Moryx.Controls.Properties"
|
14 | 14 | xmlns:wpfToolkit="clr-namespace:Moryx.WpfToolkit;assembly=Moryx.WpfToolkit"
|
| 15 | + xmlns:system="clr-namespace:System;assembly=mscorlib" |
15 | 16 | mc:Ignorable="d" x:Name="UserControl" d:DesignHeight="300" d:DesignWidth="810">
|
16 | 17 | <UserControl.Resources>
|
17 | 18 | <wpfToolkit:BooleanToVisibilityConverter x:Key="ReBooleanToVisibilityConverter" TriggerValue="False" />
|
|
22 | 23 | <converter:EntryValueToVisibilityConverter x:Key="ValueToVisibilityConverter" />
|
23 | 24 | <converter:Base64StringLengthToByteLength x:Key="Base64StringLengthToByteLength" />
|
24 | 25 | <converter:TextToDelimiteredTextConverter x:Key="DelimiteredTextConverter" />
|
| 26 | + <system:Double x:Key="MinWidth">200</system:Double> |
| 27 | + <system:Double x:Key="MaxWidth">600</system:Double> |
25 | 28 |
|
26 | 29 | <converter:ValueTypeTemplateSelector x:Key="ValueTypeTemplateSelector">
|
27 | 30 | <converter:ValueTypeTemplateSelector.CollectionTemplate>
|
28 | 31 | <DataTemplate DataType="controls:EntryViewModel">
|
29 |
| - <StackPanel Orientation="Horizontal" Height="35"> |
| 32 | + <StackPanel Orientation="Horizontal"> |
30 | 33 | <TextBlock Text="{Binding Value}"
|
31 | 34 | FontWeight="Bold" VerticalAlignment="Center"
|
32 | 35 | Visibility="{Binding SubEntries, Converter={StaticResource ReBooleanToVisibilityConverter}}" />
|
33 | 36 |
|
34 |
| - <EddieButton Width="120" Content="{x:Static properties:Strings.EntryEditor_Open}" EddieStyle="Green" Icon="{MdiShape Folder_Open}" |
| 37 | + <EddieButton Content="{x:Static properties:Strings.EntryEditor_Open}" EddieStyle="Green" Icon="{MdiShape Folder_Open}" |
35 | 38 | VerticalAlignment="Center" Click="DelveIntoSubEntry"
|
36 | 39 | Visibility="{Binding Converter={StaticResource SubEntriesToVisibilityConverter}}" />
|
37 | 40 | </StackPanel>
|
|
40 | 43 |
|
41 | 44 | <converter:ValueTypeTemplateSelector.StringTemplate>
|
42 | 45 | <DataTemplate DataType="controls:EntryViewModel">
|
43 |
| - <EddieTextBox Width="200" HorizontalAlignment="Left" |
| 46 | + <EddieTextBox MinWidth="{StaticResource MinWidth}" MaxWidth="{StaticResource MaxWidth}" HorizontalAlignment="Left" |
| 47 | + TextWrapping="Wrap" |
44 | 48 | Text="{Binding Value, Mode=TwoWay}" Watermark="{Binding DefaultValue}"
|
45 | 49 | IsEnabled="{Binding IsEditMode, ElementName=UserControl}"
|
46 | 50 | IsReadOnly="{Binding IsReadOnly}"
|
|
53 | 57 | <StackPanel Orientation="Horizontal"
|
54 | 58 | Visibility="{Binding SubEntries, Converter={StaticResource ReBooleanToVisibilityConverter}}">
|
55 | 59 |
|
56 |
| - <PasswordBox x:Name="HiddenPassword" Width="200" HorizontalAlignment="Left" |
| 60 | + <PasswordBox x:Name="HiddenPassword" Width="{StaticResource MinWidth}" HorizontalAlignment="Left" |
57 | 61 | IsEnabled="{Binding IsEditMode, ElementName=UserControl}">
|
58 | 62 | <i:Interaction.Behaviors>
|
59 | 63 | <controls:PasswordBoxBehaviour Password="{Binding Value, Mode=TwoWay}" />
|
60 | 64 | </i:Interaction.Behaviors>
|
61 | 65 | </PasswordBox>
|
62 | 66 |
|
63 |
| - <EddieTextBox x:Name="VisiblePassword" Width="200" HorizontalAlignment="Left" |
| 67 | + <EddieTextBox x:Name="VisiblePassword" Width="{StaticResource MinWidth}" HorizontalAlignment="Left" |
64 | 68 | Text="{Binding Value, Mode=TwoWay}" Watermark="{Binding DefaultValue}"
|
65 | 69 | IsEnabled="{Binding IsEditMode, ElementName=UserControl}"
|
66 | 70 | IsReadOnly="{Binding IsReadOnly}"
|
|
89 | 93 |
|
90 | 94 | <converter:ValueTypeTemplateSelector.DropDownTemplate>
|
91 | 95 | <DataTemplate DataType="controls:EntryViewModel">
|
92 |
| - <EddieComboBox ItemsSource="{Binding PossibleValues}" Width="300" |
| 96 | + <EddieComboBox ItemsSource="{Binding PossibleValues}" |
| 97 | + MinWidth="{StaticResource MinWidth}" MaxWidth="{StaticResource MaxWidth}" |
93 | 98 | IsEnabled="{Binding IsEditMode, ElementName=UserControl}"
|
94 | 99 | IsReadOnly="{Binding IsReadOnly}"
|
95 | 100 | SelectedItem="{Binding Value, Mode=TwoWay}" />
|
|
99 | 104 | <converter:ValueTypeTemplateSelector.FilePickerTemplate>
|
100 | 105 | <DataTemplate DataType="controls:EntryViewModel">
|
101 | 106 | <StackPanel Orientation="Horizontal">
|
102 |
| - <EddieTextBox Width="200" HorizontalAlignment="Left" |
| 107 | + <EddieTextBox MinWidth="{StaticResource MinWidth}" MaxWidth="{StaticResource MaxWidth}" |
| 108 | + TextWrapping="Wrap" HorizontalAlignment="Left" |
103 | 109 | Text="{Binding Value, Mode=TwoWay}" Watermark="{Binding DefaultValue}"
|
104 | 110 | ToolTip="{Binding Value}"
|
105 | 111 | IsEnabled="{Binding IsEditMode, ElementName=UserControl}"
|
106 | 112 | IsReadOnly="{Binding IsReadOnly}"
|
107 | 113 | Visibility="{Binding SubEntries, Converter={StaticResource ReBooleanToVisibilityConverter}}" />
|
108 | 114 |
|
109 | 115 | <EddieButton Margin="5,0,0,0" EddieStyle="Green" HorizontalAlignment="Left" Icon="{MdiShape Folder_Open}"
|
| 116 | + MinWidth="140" Width="Auto" |
110 | 117 | Content="{x:Static properties:Strings.EntryEditor_SelectFile}" Click="SelectFile" />
|
111 | 118 | </StackPanel>
|
112 | 119 | </DataTemplate>
|
|
115 | 122 | <converter:ValueTypeTemplateSelector.DirectoryPickerTemplate>
|
116 | 123 | <DataTemplate DataType="controls:EntryViewModel">
|
117 | 124 | <StackPanel Orientation="Horizontal">
|
118 |
| - <EddieTextBox Width="200" HorizontalAlignment="Left" |
119 |
| - Text="{Binding Value, Mode=TwoWay}" Watermark="{Binding DefaultValue}" |
| 125 | + <EddieTextBox MinWidth="{StaticResource MinWidth}" MaxWidth="{StaticResource MaxWidth}" HorizontalAlignment="Left" |
| 126 | + TextWrapping="Wrap" Text="{Binding Value, Mode=TwoWay}" Watermark="{Binding DefaultValue}" |
120 | 127 | ToolTip="{Binding Value}"
|
121 | 128 | IsEnabled="{Binding IsEditMode, ElementName=UserControl}"
|
122 | 129 | IsReadOnly="{Binding IsReadOnly}"
|
123 | 130 | Visibility="{Binding SubEntries, Converter={StaticResource ReBooleanToVisibilityConverter}}" />
|
124 | 131 |
|
125 | 132 | <EddieButton Margin="5,0,0,0" EddieStyle="Green" HorizontalAlignment="Left" Icon="{MdiShape Folder_Open}"
|
| 133 | + MinWidth="140" Width="Auto" |
126 | 134 | Content="{x:Static properties:Strings.EntryEditor_SelectDirectory}" Click="SelectDirectory" />
|
127 | 135 | </StackPanel>
|
128 | 136 | </DataTemplate>
|
129 | 137 | </converter:ValueTypeTemplateSelector.DirectoryPickerTemplate>
|
130 | 138 |
|
131 | 139 | <converter:ValueTypeTemplateSelector.ClassTemplate>
|
132 | 140 | <DataTemplate DataType="controls:EntryViewModel">
|
133 |
| - <EddieButton Width="120" EddieStyle="Green" HorizontalAlignment="Left" Icon="{MdiShape Folder_Open}" |
| 141 | + <EddieButton EddieStyle="Green" HorizontalAlignment="Left" Icon="{MdiShape Folder_Open}" |
134 | 142 | Content="{x:Static properties:Strings.EntryEditor_Open}" Click="DelveIntoSubEntry" />
|
135 | 143 | </DataTemplate>
|
136 | 144 | </converter:ValueTypeTemplateSelector.ClassTemplate>
|
137 | 145 |
|
138 | 146 | <converter:ValueTypeTemplateSelector.StreamTemplate>
|
139 | 147 | <DataTemplate DataType="controls:EntryViewModel">
|
140 | 148 | <StackPanel Orientation="Horizontal">
|
141 |
| - <TextBlock Width="200" |
| 149 | + <TextBlock Width="{StaticResource MinWidth}" |
142 | 150 | Text="{Binding Value, Converter={StaticResource Base64StringLengthToByteLength}, FallbackValue=Unknown}"
|
143 | 151 | VerticalAlignment="Center" />
|
144 | 152 |
|
145 |
| - <EddieButton Width="120" Content="{x:Static properties:Strings.EntryEditor_Select}" EddieStyle="Green" Margin="5,0,0,0" Icon="{MdiShape Folder_Open}" |
| 153 | + <EddieButton Content="{x:Static properties:Strings.EntryEditor_Select}" EddieStyle="Green" Margin="5,0,0,0" Icon="{MdiShape Folder_Open}" |
146 | 154 | IsEnabled="{Binding IsEditMode, ElementName=UserControl}"
|
147 | 155 | Click="SelectStreamContent" />
|
148 | 156 |
|
149 |
| - <EddieButton Width="120" Content="{x:Static properties:Strings.EntryEditor_Save}" EddieStyle="Green" Margin="5,0,0,0" Icon="{MdiShape Content_Save}" |
| 157 | + <EddieButton Content="{x:Static properties:Strings.EntryEditor_Save}" EddieStyle="Green" Margin="5,0,0,0" Icon="{MdiShape Content_Save}" |
150 | 158 | IsEnabled="{Binding IsEditMode, ElementName=UserControl}"
|
151 | 159 | Click="SaveStreamContent" />
|
152 | 160 | </StackPanel>
|
|
156 | 164 | <converter:ValueTypeTemplateSelector.ExceptionTemplate>
|
157 | 165 | <DataTemplate DataType="controls:EntryViewModel">
|
158 | 166 | <StackPanel Orientation="Horizontal">
|
159 |
| - <TextBlock Width="300" |
| 167 | + <TextBlock MinWidth="{StaticResource MinWidth}" MaxWidth="{StaticResource MaxWidth}" |
160 | 168 | FontStyle="Italic"
|
161 | 169 | VerticalAlignment="Center"
|
162 | 170 | TextTrimming="CharacterEllipsis"
|
|
219 | 227 | </ListBox>
|
220 | 228 | </DockPanel>
|
221 | 229 |
|
222 |
| - <Border BorderBrush="LightGray" BorderThickness="1,1,1,1" Grid.Row="1" Margin="0,10,0,0"> |
| 230 | + <Border BorderBrush="LightGray" BorderThickness="1,1,1,1" Grid.Row="1" Margin="0,10,0,0" Grid.IsSharedSizeScope="True"> |
223 | 231 | <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
|
224 | 232 | <ItemsControl ItemsSource="{Binding CurrentEntry.SubEntries, ElementName=UserControl}">
|
225 | 233 | <ItemsControl.ItemTemplate>
|
226 | 234 | <DataTemplate DataType="controls:EntryViewModel">
|
227 | 235 | <Border BorderThickness="0,0,0,1" BorderBrush="DarkGray">
|
228 | 236 | <Grid Margin="5">
|
229 | 237 | <Grid.ColumnDefinitions>
|
230 |
| - <ColumnDefinition Width="*" /> |
231 |
| - <ColumnDefinition Width="*" /> |
| 238 | + <ColumnDefinition Width="*" SharedSizeGroup="Name"/> |
| 239 | + <ColumnDefinition Width="4*"/> |
232 | 240 | </Grid.ColumnDefinitions>
|
233 | 241 |
|
234 |
| - <StackPanel Margin="0,0,25,0"> |
| 242 | + <StackPanel Grid.Column="0" Margin="0,0,25,0"> |
235 | 243 | <TextBlock Text="{Binding DisplayName}" />
|
236 | 244 | <TextBlock Text="{Binding Description}" TextWrapping="Wrap"
|
237 |
| - Foreground="DarkGray" /> |
| 245 | + Foreground="DarkGray" MaxWidth="300"/> |
238 | 246 | </StackPanel>
|
239 | 247 |
|
240 | 248 | <StackPanel Grid.Column="1" Orientation="Horizontal">
|
241 | 249 | <ContentPresenter ContentTemplateSelector="{StaticResource ValueTypeTemplateSelector}" />
|
242 | 250 |
|
243 |
| - <EddieButton Width="120" Content="{x:Static properties:Strings.EntryEditor_Remove}" EddieStyle="Green" Margin="10,0,0,0" Icon="{CommonShape Delete}" |
| 251 | + <EddieButton Content="{x:Static properties:Strings.EntryEditor_Remove}" EddieStyle="Green" Margin="10,0,0,0" Icon="{CommonShape Delete}" |
244 | 252 | Visibility="{Binding CurrentEntry, ElementName=UserControl, Converter={StaticResource DelButtonVisibilityConverter}, FallbackValue=Collapsed}"
|
245 | 253 | IsEnabled="{Binding IsEditMode, ElementName=UserControl}"
|
246 | 254 | Click="RemoveCollectionEntry" />
|
|
260 | 268 | <EddieComboBox ItemsSource="{Binding CurrentEntry.PossibleValues, ElementName=UserControl}"
|
261 | 269 | SelectedItem="{Binding DesiredType, ElementName=UserControl, Mode=TwoWay}"
|
262 | 270 | IsEnabled="{Binding IsEditMode, ElementName=UserControl}"
|
263 |
| - MinWidth="200" /> |
| 271 | + MinWidth="{StaticResource MinWidth}" /> |
264 | 272 |
|
265 | 273 | <EddieButton Margin="5,0,0,0" Icon="{CommonShape Plus}" Content="{Binding CurrentEntry, ElementName=UserControl, Converter={StaticResource ButtonTextConverter}}"
|
266 | 274 | IsEnabled="{Binding IsEditMode, ElementName=UserControl}"
|
267 |
| - Click="ItemRequested" /> |
| 275 | + Click="ItemRequested" MinWidth="140" Width="Auto"/> |
268 | 276 | </StackPanel>
|
269 | 277 |
|
270 | 278 | </Grid>
|
|
0 commit comments