@@ -28,28 +28,20 @@ public partial class InfiniteCanvas
28
28
"Right",
29
29
"Up",
30
30
"Left",
31
- "Down"
31
+ "Down",
32
+ "Enter"
32
33
};
33
34
34
35
private Point _lastInputPoint;
35
36
36
37
private TextDrawable SelectedTextDrawable => _drawingSurfaceRenderer.GetSelectedTextDrawable();
37
38
38
- private float _lastValidTextFontSizeValue = DefaultFontValue;
39
+ private float _textFontSize = DefaultFontValue;
39
40
40
- private float TextFontSize
41
+ private void SetFontSize( float newSize)
41
42
{
42
- get
43
- {
44
- if (!string.IsNullOrWhiteSpace(_canvasComboBoxFontSizeTextBox.SelectedValue.ToString()) &&
45
- Regex.IsMatch(_canvasComboBoxFontSizeTextBox.Text, "^[0-9]*$"))
46
- {
47
- var fontSize = float.Parse((_canvasComboBoxFontSizeTextBox.SelectedItem as ComboBoxItem).Content.ToString());
48
- _lastValidTextFontSizeValue = fontSize;
49
- }
50
-
51
- return _lastValidTextFontSizeValue;
52
- }
43
+ _textFontSize = newSize;
44
+ _canvasTextBox.UpdateFontSize(newSize);
53
45
}
54
46
55
47
private void InkScrollViewer_PreviewKeyDown(object sender, KeyRoutedEventArgs e)
@@ -95,11 +87,26 @@ private void CanvasTextBoxItalicButton_Clicked(object sender, RoutedEventArgs e)
95
87
96
88
private void CanvasComboBoxFontSizeTextBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
97
89
{
98
- _canvasTextBox.UpdateFontSize(TextFontSize);
99
- if (SelectedTextDrawable != null)
90
+ if (sender is ComboBox s
91
+ && s.SelectedItem is ComboBoxItem selectedItem
92
+ && selectedItem.Content is string selectedText
93
+ && float.TryParse(selectedText, out var sizeNumb))
100
94
{
101
- _drawingSurfaceRenderer.ExecuteUpdateTextBoxFontSize(TextFontSize);
102
- ReDrawCanvas();
95
+ SetFontSize(sizeNumb);
96
+
97
+ if (SelectedTextDrawable != null)
98
+ {
99
+ _drawingSurfaceRenderer.ExecuteUpdateTextBoxFontSize(sizeNumb);
100
+ ReDrawCanvas();
101
+ }
102
+ }
103
+ }
104
+
105
+ private void CanvasComboBoxFontSizeTextBox_TextSubmitted(ComboBox sender, ComboBoxTextSubmittedEventArgs args)
106
+ {
107
+ if (float.TryParse(args.Text, out var size))
108
+ {
109
+ SetFontSize(size);
103
110
}
104
111
}
105
112
@@ -147,20 +154,22 @@ private void CanvasTextBox_TextChanged(object sender, string text)
147
154
ReDrawCanvas();
148
155
return;
149
156
}
157
+ else
158
+ {
159
+ _drawingSurfaceRenderer.ExecuteCreateTextBox(
160
+ _lastInputPoint.X,
161
+ _lastInputPoint.Y,
162
+ _canvasTextBox.GetEditZoneWidth(),
163
+ _canvasTextBox.GetEditZoneHeight(),
164
+ _textFontSize,
165
+ text,
166
+ _canvasTextBoxColorPicker.Color,
167
+ _canvasTextBoxBoldButton.IsChecked ?? false,
168
+ _canvasTextBoxItalicButton.IsChecked ?? false);
150
169
151
- _drawingSurfaceRenderer.ExecuteCreateTextBox(
152
- _lastInputPoint.X,
153
- _lastInputPoint.Y,
154
- _canvasTextBox.GetEditZoneWidth(),
155
- _canvasTextBox.GetEditZoneHeight(),
156
- TextFontSize,
157
- text,
158
- _canvasTextBoxColorPicker.Color,
159
- _canvasTextBoxBoldButton.IsChecked ?? false,
160
- _canvasTextBoxItalicButton.IsChecked ?? false);
161
-
162
- ReDrawCanvas();
163
- _drawingSurfaceRenderer.UpdateSelectedTextDrawable();
170
+ ReDrawCanvas();
171
+ _drawingSurfaceRenderer.UpdateSelectedTextDrawable();
172
+ }
164
173
}
165
174
166
175
private void InkScrollViewer_PointerPressed(object sender, PointerRoutedEventArgs e)
@@ -179,7 +188,6 @@ private void InkScrollViewer_PointerPressed(object sender, PointerRoutedEventArg
179
188
180
189
Canvas.SetLeft(_canvasTextBox, SelectedTextDrawable.Bounds.X);
181
190
Canvas.SetTop(_canvasTextBox, SelectedTextDrawable.Bounds.Y);
182
- _canvasTextBox.UpdateFontSize(SelectedTextDrawable.FontSize);
183
191
_canvasTextBox.UpdateFontStyle(SelectedTextDrawable.IsItalic);
184
192
_canvasTextBox.UpdateFontWeight(SelectedTextDrawable.IsBold);
185
193
@@ -192,7 +200,6 @@ private void InkScrollViewer_PointerPressed(object sender, PointerRoutedEventArg
192
200
return;
193
201
}
194
202
195
- _canvasTextBox.UpdateFontSize(TextFontSize);
196
203
_canvasTextBox.UpdateFontStyle(_canvasTextBoxItalicButton.IsChecked ?? false);
197
204
_canvasTextBox.UpdateFontWeight(_canvasTextBoxBoldButton.IsChecked ?? false);
198
205
0 commit comments