Skip to content

Commit 8b63962

Browse files
committed
Merge pull request #2307 from sachokFoX/develop
Fix TextBoxHelper.SelectAllOnFocus="True"
2 parents c65b9ca + ed11bc0 commit 8b63962

File tree

2 files changed

+26
-9
lines changed

2 files changed

+26
-9
lines changed

MahApps.Metro/Controls/Helper/TextBoxHelper.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -304,26 +304,26 @@ private static void PasswordChanged(object sender, RoutedEventArgs e)
304304

305305
private static void TextBoxGotFocus(object sender, RoutedEventArgs e)
306306
{
307-
ControlGotFocus(sender as TextBox, textBox => textBox.SelectAll);
307+
ControlGotFocus(sender as TextBox, textBox => textBox.SelectAll());
308308
}
309309

310310
private static void NumericUpDownGotFocus(object sender, RoutedEventArgs e)
311-
{
312-
ControlGotFocus(sender as NumericUpDown, numericUpDown => numericUpDown.SelectAll);
313-
}
311+
{
312+
ControlGotFocus(sender as NumericUpDown, numericUpDown => numericUpDown.SelectAll());
313+
}
314314

315315
private static void PasswordGotFocus(object sender, RoutedEventArgs e)
316316
{
317-
ControlGotFocus(sender as PasswordBox, passwordBox => passwordBox.SelectAll);
317+
ControlGotFocus(sender as PasswordBox, passwordBox => passwordBox.SelectAll());
318318
}
319319

320-
private static void ControlGotFocus<TDependencyObject>(TDependencyObject sender, Func<TDependencyObject, Action> funcSelectAll) where TDependencyObject : DependencyObject
320+
private static void ControlGotFocus<TDependencyObject>(TDependencyObject sender, Action<TDependencyObject> action) where TDependencyObject : DependencyObject
321321
{
322322
if (sender != null)
323-
{
324-
if (GetSelectAllOnFocus(sender))
325323
{
326-
sender.Dispatcher.BeginInvoke(funcSelectAll, sender);
324+
if (GetSelectAllOnFocus(sender))
325+
{
326+
sender.Dispatcher.BeginInvoke(action, sender);
327327
}
328328
}
329329
}

samples/MetroDemo/ExampleViews/TextExamples.xaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,9 @@
118118
Controls:TextBoxHelper.Watermark="Number smaller than 10"
119119
IsEnabled="False"
120120
Text="{Binding IntegerGreater10Property, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged, NotifyOnValidationError=True}" />
121+
<TextBox Margin="{StaticResource ControlMargin}"
122+
Controls:TextBoxHelper.SelectAllOnFocus="True"
123+
Text="Select all on focus" />
121124
</StackPanel>
122125

123126
<StackPanel Grid.Column="1"
@@ -205,6 +208,12 @@
205208
Controls:TextBoxHelper.ClearTextButton="True"
206209
IsEnabled="False"
207210
Password="Password" />
211+
212+
<Label Content="Select all on focus" />
213+
<PasswordBox Margin="{StaticResource ControlMargin}"
214+
Controls:TextBoxHelper.SelectAllOnFocus="True"
215+
Password="Password"
216+
ToolTip="Select all on focus"/>
208217
</StackPanel>
209218

210219
<StackPanel Grid.Column="3"
@@ -297,6 +306,14 @@
297306
IsReadOnly="{Binding ElementName=ReadOnlyCheck, Path=IsChecked, Mode=TwoWay}"
298307
Interval=".1"
299308
StringFormat="0,000.00" />
309+
310+
<Label Content="Select all on focus" />
311+
<Controls:NumericUpDown Value="500" IsTabStop="False"
312+
IsReadOnly="{Binding ElementName=ReadOnlyCheck, Path=IsChecked, Mode=TwoWay}"
313+
HasDecimals="{Binding ElementName=HasDecimalsCheckBox, Path=IsChecked, Mode=TwoWay}"
314+
Controls:TextBoxHelper.SelectAllOnFocus="True"
315+
ButtonsAlignment="Left"
316+
Interval="5" />
300317
</StackPanel>
301318
</Grid>
302319
</AdornerDecorator>

0 commit comments

Comments
 (0)