diff --git a/Microsoft.Toolkit.Uwp.UI.Controls/InfiniteCanvas/InfiniteCanvas.TextBox.cs b/Microsoft.Toolkit.Uwp.UI.Controls/InfiniteCanvas/InfiniteCanvas.TextBox.cs index 94a537fbb53..592a56797e7 100644 --- a/Microsoft.Toolkit.Uwp.UI.Controls/InfiniteCanvas/InfiniteCanvas.TextBox.cs +++ b/Microsoft.Toolkit.Uwp.UI.Controls/InfiniteCanvas/InfiniteCanvas.TextBox.cs @@ -41,10 +41,10 @@ private int TextFontSize { get { - if (!string.IsNullOrWhiteSpace(_canvasTextBoxFontSizeTextBox.Text) && - Regex.IsMatch(_canvasTextBoxFontSizeTextBox.Text, "^[0-9]*$")) + if (!string.IsNullOrWhiteSpace(_canvasComboBoxFontSizeTextBox.SelectedValue.ToString()) && + Regex.IsMatch(_canvasComboBoxFontSizeTextBox.Text, "^[0-9]*$")) { - var fontSize = int.Parse(_canvasTextBoxFontSizeTextBox.Text); + var fontSize = int.Parse((_canvasComboBoxFontSizeTextBox.SelectedItem as ComboBoxItem).Content.ToString()); _lastValidTextFontSizeValue = fontSize; } @@ -93,7 +93,7 @@ private void CanvasTextBoxItalicButton_Clicked(object sender, RoutedEventArgs e) } } - private void CanvasTextBoxFontSizeTextBox_TextChanged(object sender, TextChangedEventArgs e) + private void CanvasComboBoxFontSizeTextBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { _canvasTextBox.UpdateFontSize(TextFontSize); if (SelectedTextDrawable != null) @@ -185,7 +185,7 @@ private void InkScrollViewer_PointerPressed(object sender, PointerRoutedEventArg // Updating toolbar _canvasTextBoxColorPicker.Color = SelectedTextDrawable.TextColor; - _canvasTextBoxFontSizeTextBox.Text = SelectedTextDrawable.FontSize.ToString(); + _canvasComboBoxFontSizeTextBox.Text = SelectedTextDrawable.FontSize.ToString(); _canvasTextBoxBoldButton.IsChecked = SelectedTextDrawable.IsBold; _canvasTextBoxItalicButton.IsChecked = SelectedTextDrawable.IsItalic; @@ -210,7 +210,7 @@ private void ClearTextBoxValue() _canvasTextBox.Clear(); } - private void CanvasTextBoxFontSizeTextBox_PreviewKeyDown(object sender, KeyRoutedEventArgs e) + private void CanvasComboBoxFontSizeTextBox_PreviewKeyDown(object sender, KeyRoutedEventArgs e) { if (_allowedCommands.Contains(e.Key.ToString())) { diff --git a/Microsoft.Toolkit.Uwp.UI.Controls/InfiniteCanvas/InfiniteCanvas.cs b/Microsoft.Toolkit.Uwp.UI.Controls/InfiniteCanvas/InfiniteCanvas.cs index 23cb0a3ef3c..c2bbc0ff960 100644 --- a/Microsoft.Toolkit.Uwp.UI.Controls/InfiniteCanvas/InfiniteCanvas.cs +++ b/Microsoft.Toolkit.Uwp.UI.Controls/InfiniteCanvas/InfiniteCanvas.cs @@ -21,7 +21,7 @@ namespace Microsoft.Toolkit.Uwp.UI.Controls /// [TemplatePart(Name = CanvasTextBoxToolsName, Type = typeof(StackPanel))] [TemplatePart(Name = CanvasTextBoxColorPickerName, Type = typeof(ColorPicker))] - [TemplatePart(Name = CanvasTextBoxFontSizeTextBoxName, Type = typeof(TextBox))] + [TemplatePart(Name = CanvasComboBoxFontSizeTextBoxName, Type = typeof(TextBox))] [TemplatePart(Name = CanvasTextBoxItalicButtonName, Type = typeof(ToggleButton))] [TemplatePart(Name = CanvasTextBoxBoldButtonName, Type = typeof(ToggleButton))] [TemplatePart(Name = DrawingSurfaceRendererName, Type = typeof(InfiniteCanvasVirtualDrawingSurface))] @@ -45,7 +45,7 @@ public partial class InfiniteCanvas : Control private const string CanvasTextBoxToolsName = "CanvasTextBoxTools"; private const string CanvasTextBoxColorPickerName = "CanvasTextBoxColorPicker"; - private const string CanvasTextBoxFontSizeTextBoxName = "CanvasTextBoxFontSizeTextBox"; + private const string CanvasComboBoxFontSizeTextBoxName = "CanvasComboBoxFontSizeTextBox"; private const string CanvasTextBoxItalicButtonName = "CanvasTextBoxItalicButton"; private const string CanvasTextBoxBoldButtonName = "CanvasTextBoxBoldButton"; private const string DrawingSurfaceRendererName = "DrawingSurfaceRenderer"; @@ -71,7 +71,7 @@ public partial class InfiniteCanvas : Control private StackPanel _canvasTextBoxTools; private ColorPicker _canvasTextBoxColorPicker; - private TextBox _canvasTextBoxFontSizeTextBox; + private ComboBox _canvasComboBoxFontSizeTextBox; private ToggleButton _canvasTextBoxItalicButton; private ToggleButton _canvasTextBoxBoldButton; private Button _undoButton; @@ -244,7 +244,7 @@ protected override void OnApplyTemplate() { _canvasTextBoxTools = (StackPanel)GetTemplateChild(CanvasTextBoxToolsName); _canvasTextBoxColorPicker = (ColorPicker)GetTemplateChild(CanvasTextBoxColorPickerName); - _canvasTextBoxFontSizeTextBox = (TextBox)GetTemplateChild(CanvasTextBoxFontSizeTextBoxName); + _canvasComboBoxFontSizeTextBox = (ComboBox)GetTemplateChild(CanvasComboBoxFontSizeTextBoxName); _canvasTextBoxItalicButton = (ToggleButton)GetTemplateChild(CanvasTextBoxItalicButtonName); _canvasTextBoxBoldButton = (ToggleButton)GetTemplateChild(CanvasTextBoxBoldButtonName); _drawingSurfaceRenderer = (InfiniteCanvasVirtualDrawingSurface)GetTemplateChild(DrawingSurfaceRendererName); @@ -296,7 +296,7 @@ protected override void OnApplyTemplate() private void UnRegisterEvents() { - _canvasTextBoxFontSizeTextBox.TextChanged -= CanvasTextBoxFontSizeTextBox_TextChanged; + _canvasComboBoxFontSizeTextBox.SelectionChanged -= CanvasComboBoxFontSizeTextBox_SelectionChanged; _canvasTextBoxItalicButton.Click -= CanvasTextBoxItalicButton_Clicked; _canvasTextBoxBoldButton.Click -= CanvasTextBoxBoldButton_Clicked; _canvasTextBoxColorPicker.ColorChanged -= CanvasTextBoxColorPicker_ColorChanged; @@ -314,13 +314,13 @@ private void UnRegisterEvents() Unloaded -= InfiniteCanvas_Unloaded; Application.Current.LeavingBackground -= Current_LeavingBackground; _drawingSurfaceRenderer.CommandExecuted -= DrawingSurfaceRenderer_CommandExecuted; - _canvasTextBoxFontSizeTextBox.PreviewKeyDown -= CanvasTextBoxFontSizeTextBox_PreviewKeyDown; + _canvasComboBoxFontSizeTextBox.PreviewKeyDown -= CanvasComboBoxFontSizeTextBox_PreviewKeyDown; Loaded -= InfiniteCanvas_Loaded; } private void RegisterEvents() { - _canvasTextBoxFontSizeTextBox.TextChanged += CanvasTextBoxFontSizeTextBox_TextChanged; + _canvasComboBoxFontSizeTextBox.SelectionChanged += CanvasComboBoxFontSizeTextBox_SelectionChanged; _canvasTextBoxItalicButton.Click += CanvasTextBoxItalicButton_Clicked; _canvasTextBoxBoldButton.Click += CanvasTextBoxBoldButton_Clicked; _canvasTextBoxColorPicker.ColorChanged += CanvasTextBoxColorPicker_ColorChanged; @@ -338,7 +338,7 @@ private void RegisterEvents() Unloaded += InfiniteCanvas_Unloaded; Application.Current.LeavingBackground += Current_LeavingBackground; _drawingSurfaceRenderer.CommandExecuted += DrawingSurfaceRenderer_CommandExecuted; - _canvasTextBoxFontSizeTextBox.PreviewKeyDown += CanvasTextBoxFontSizeTextBox_PreviewKeyDown; + _canvasComboBoxFontSizeTextBox.PreviewKeyDown += CanvasComboBoxFontSizeTextBox_PreviewKeyDown; Loaded += InfiniteCanvas_Loaded; } diff --git a/Microsoft.Toolkit.Uwp.UI.Controls/InfiniteCanvas/InfiniteCanvas.xaml b/Microsoft.Toolkit.Uwp.UI.Controls/InfiniteCanvas/InfiniteCanvas.xaml index 9d78d87c390..4767685ce06 100644 --- a/Microsoft.Toolkit.Uwp.UI.Controls/InfiniteCanvas/InfiniteCanvas.xaml +++ b/Microsoft.Toolkit.Uwp.UI.Controls/InfiniteCanvas/InfiniteCanvas.xaml @@ -96,13 +96,27 @@ - + + + + + + + + + + + + + + + + + + +