Skip to content

Commit 6ce2920

Browse files
committed
Merge branch 'dev' into 0.0.0.3
2 parents 671365f + 7694d00 commit 6ce2920

13 files changed

Lines changed: 452 additions & 294 deletions

src/WPFDevelopers.Shared/Controls/MessageBox/MessageBox.cs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,34 +5,39 @@ namespace WPFDevelopers.Controls
55
{
66
public static class MessageBox
77
{
8-
public static MessageBoxResult Show(string messageBoxText, Window owner = null, double buttonRadius = 0d)
8+
public static MessageBoxResult Show(string messageBoxText, Window owner = null, double buttonRadius = 0d, bool isDefault = true)
99
{
1010
var msg = new WDMessageBox(messageBoxText, buttonRadius);
11+
msg.IsDefault = isDefault;
1112
return GetWindow(msg, owner);
1213
}
1314

14-
public static MessageBoxResult Show(string messageBoxText, string caption, Window owner = null, double buttonRadius = 0d)
15+
public static MessageBoxResult Show(string messageBoxText, string caption, Window owner = null, double buttonRadius = 0d, bool isDefault = true)
1516
{
1617
var msg = new WDMessageBox(messageBoxText, caption, buttonRadius);
18+
msg.IsDefault = isDefault;
1719
return GetWindow(msg, owner);
1820
}
1921

20-
public static MessageBoxResult Show(string messageBoxText, string caption, MessageBoxButton button, Window owner = null, double buttonRadius = 0d)
22+
public static MessageBoxResult Show(string messageBoxText, string caption, MessageBoxButton button, Window owner = null, double buttonRadius = 0d, bool isDefault = true)
2123
{
2224
var msg = new WDMessageBox(messageBoxText, caption, button, buttonRadius);
25+
msg.IsDefault = isDefault;
2326
return GetWindow(msg, owner);
2427
}
2528

26-
public static MessageBoxResult Show(string messageBoxText, string caption, MessageBoxImage icon, Window owner = null, double buttonRadius = 0d)
29+
public static MessageBoxResult Show(string messageBoxText, string caption, MessageBoxImage icon, Window owner = null, double buttonRadius = 0d, bool isDefault = true)
2730
{
2831
var msg = new WDMessageBox(messageBoxText, caption, icon, buttonRadius);
32+
msg.IsDefault = isDefault;
2933
return GetWindow(msg, owner);
3034
}
3135

3236
public static MessageBoxResult Show(string messageBoxText, string caption, MessageBoxButton button,
33-
MessageBoxImage icon, Window owner = null, double buttonRadius = 0d)
37+
MessageBoxImage icon, Window owner = null, double buttonRadius = 0d, bool isDefault = true)
3438
{
3539
var msg = new WDMessageBox(messageBoxText, caption, button, icon, buttonRadius);
40+
msg.IsDefault = isDefault;
3641
return GetWindow(msg, owner);
3742
}
3843

src/WPFDevelopers.Shared/Controls/MessageBox/WDMessageBox.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using System;
77
using System.Windows;
88
using System.Windows.Controls;
9+
using System.Windows.Input;
910
using System.Windows.Media;
1011
using System.Windows.Shapes;
1112

@@ -59,6 +60,16 @@ public CornerRadius ButtonCornerRadius
5960
DependencyProperty.Register("ButtonCornerRadius", typeof(CornerRadius), typeof(WDMessageBox), new PropertyMetadata(null));
6061

6162

63+
public bool IsDefault
64+
{
65+
get { return (bool)GetValue(IsDefaultProperty); }
66+
set { SetValue(IsDefaultProperty, value); }
67+
}
68+
69+
public static readonly DependencyProperty IsDefaultProperty =
70+
DependencyProperty.Register("IsDefault", typeof(bool), typeof(WDMessageBox), new PropertyMetadata(true));
71+
72+
6273
static WDMessageBox()
6374
{
6475
DefaultStyleKeyProperty.OverrideMetadata(typeof(WDMessageBox),
@@ -213,6 +224,16 @@ private void CloseButton_Click(object sender, RoutedEventArgs e)
213224
Close();
214225
}
215226

227+
protected override void OnKeyDown(KeyEventArgs e)
228+
{
229+
base.OnKeyDown(e);
230+
if (e.Key == Key.Escape)
231+
{
232+
Close();
233+
e.Handled = true;
234+
}
235+
}
236+
216237
private void DisplayButtons(MessageBoxButton button)
217238
{
218239
switch (button)

src/WPFDevelopers.Shared/Controls/TimePicker/TimePicker.cs

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -30,22 +30,15 @@ public class TimePicker : Control
3030

3131
public static readonly DependencyProperty SelectedTimeProperty =
3232
DependencyProperty.Register("SelectedTime", typeof(DateTime?), typeof(TimePicker),
33-
new FrameworkPropertyMetadata(null,
34-
FrameworkPropertyMetadataOptions.BindsTwoWayByDefault | FrameworkPropertyMetadataOptions.Journal,
35-
OnSelectedTimeChanged));
33+
new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault | FrameworkPropertyMetadataOptions.Journal, OnSelectedTimeChanged));
3634

3735
public static readonly DependencyProperty IsCurrentTimeProperty =
3836
DependencyProperty.Register("IsCurrentTime", typeof(bool), typeof(TimePicker), new PropertyMetadata(false));
3937

4038

4139
public static readonly RoutedEvent SelectedTimeChangedEvent =
42-
EventManager.RegisterRoutedEvent(
43-
"SelectedTimeChanged",
44-
RoutingStrategy.Bubble,
45-
typeof(RoutedPropertyChangedEventHandler<DateTime?>),
46-
typeof(TimePicker));
47-
48-
40+
EventManager.RegisterRoutedEvent("SelectedTimeChanged",
41+
RoutingStrategy.Bubble, typeof(RoutedPropertyChangedEventHandler<DateTime?>), typeof(TimePicker));
4942

5043
private HwndSource _hwndSource;
5144
private Window _window;
@@ -68,19 +61,19 @@ public bool IsDropDownOpen
6861

6962
public string SelectedTimeFormat
7063
{
71-
get => (string) GetValue(SelectedTimeFormatProperty);
64+
get => (string)GetValue(SelectedTimeFormatProperty);
7265
set => SetValue(SelectedTimeFormatProperty, value);
7366
}
7467

7568
public DateTime? SelectedTime
7669
{
77-
get => (DateTime?) GetValue(SelectedTimeProperty);
70+
get => (DateTime?)GetValue(SelectedTimeProperty);
7871
set => SetValue(SelectedTimeProperty, value);
7972
}
8073

8174
public bool IsCurrentTime
8275
{
83-
get => (bool) GetValue(IsCurrentTimeProperty);
76+
get => (bool)GetValue(IsCurrentTimeProperty);
8477
set => SetValue(IsCurrentTimeProperty, value);
8578
}
8679

@@ -94,13 +87,13 @@ private static void OnMaxDropDownHeightChanged(DependencyObject d, DependencyPro
9487
{
9588
var ctrl = d as TimePicker;
9689
if (ctrl != null)
97-
ctrl.OnMaxDropDownHeightChanged((double) e.OldValue, (double) e.NewValue);
90+
ctrl.OnMaxDropDownHeightChanged((double)e.OldValue, (double)e.NewValue);
9891
}
9992

10093
protected virtual void OnMaxDropDownHeightChanged(double oldValue, double newValue)
10194
{
10295
}
103-
96+
10497
private static void OnSelectedTimeChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
10598
{
10699
var ctrl = d as TimePicker;
@@ -113,7 +106,7 @@ private static void OnSelectedTimeChanged(DependencyObject d, DependencyProperty
113106
ctrl._timeSelector.SelectedTime = dateTime;
114107
else
115108
{
116-
if(ctrl._timeSelector != null)
109+
if (ctrl._timeSelector != null)
117110
ctrl._timeSelector.SelectedTime = null;
118111
else
119112
ctrl._date = dateTime.Value;
@@ -124,8 +117,7 @@ private static void OnSelectedTimeChanged(DependencyObject d, DependencyProperty
124117

125118
protected virtual void RaiseSelectedTimeChangedEvent(DateTime? oldValue, DateTime? newValue)
126119
{
127-
RoutedPropertyChangedEventArgs<DateTime?> args =
128-
new RoutedPropertyChangedEventArgs<DateTime?>(oldValue, newValue);
120+
var args = new RoutedPropertyChangedEventArgs<DateTime?>(oldValue, newValue);
129121
args.RoutedEvent = SelectedTimeChangedEvent;
130122
RaiseEvent(args);
131123
}
@@ -150,8 +142,8 @@ public override void OnApplyTemplate()
150142
_timeSelector = GetTemplateChild(TimeSelectorTemplateName) as TimeSelector;
151143
if (_timeSelector != null)
152144
{
153-
_timeSelector.SelectedTimeChanged -= TimeSelector_SelectedTimeChanged;
154-
_timeSelector.SelectedTimeChanged += TimeSelector_SelectedTimeChanged;
145+
_timeSelector.SelectedTimeChanged -= OnTimeSelector_SelectedTimeChanged;
146+
_timeSelector.SelectedTimeChanged += OnTimeSelector_SelectedTimeChanged;
155147
if (!SelectedTime.HasValue && IsCurrentTime)
156148
{
157149
SelectedTime = DateTime.Now;
@@ -205,21 +197,21 @@ private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
205197
{
206198
if (_textBox != null)
207199
{
208-
_timeSelector.SelectedTimeChanged -= TimeSelector_SelectedTimeChanged;
200+
_timeSelector.SelectedTimeChanged -= OnTimeSelector_SelectedTimeChanged;
209201
if (DateTime.TryParse(_textBox.Text, out var dateTime))
210202
{
211203
if (SelectedTime.HasValue
212-
&&
204+
&&
213205
dateTime.ToString(SelectedTimeFormat) == SelectedTime.Value.ToString(SelectedTimeFormat))
214206
{
215-
_timeSelector.SelectedTimeChanged += TimeSelector_SelectedTimeChanged;
207+
_timeSelector.SelectedTimeChanged += OnTimeSelector_SelectedTimeChanged;
216208
return;
217-
}
209+
}
218210
SelectedTime = dateTime;
219211
}
220212
else
221213
SelectedTime = null;
222-
_timeSelector.SelectedTimeChanged += TimeSelector_SelectedTimeChanged;
214+
_timeSelector.SelectedTimeChanged += OnTimeSelector_SelectedTimeChanged;
223215
}
224216
}
225217

@@ -235,7 +227,7 @@ private void OnWindowPreviewMouseDown(object sender, MouseButtonEventArgs e)
235227
IsDropDownOpen = false;
236228
}
237229

238-
private void TimeSelector_SelectedTimeChanged(object sender, RoutedPropertyChangedEventArgs<DateTime?> e)
230+
private void OnTimeSelector_SelectedTimeChanged(object sender, RoutedPropertyChangedEventArgs<DateTime?> e)
239231
{
240232
if (_textBox != null && e.NewValue != null)
241233
{

0 commit comments

Comments
 (0)