Skip to content

Commit 21d3d21

Browse files
Merge branch 'master' into master
2 parents b1d8a07 + adf771e commit 21d3d21

File tree

2 files changed

+60
-20
lines changed

2 files changed

+60
-20
lines changed

Microsoft.Toolkit.Uwp.UI.Controls/InfiniteCanvas/InfiniteCanvas.TextBox.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,10 @@ private void CanvasTextBoxColorPicker_ColorChanged(ColorPicker sender, ColorChan
116116
ReDrawCanvas();
117117
}
118118

119-
_fontColorIcon.Foreground = new SolidColorBrush(_canvasTextBoxColorPicker.Color);
119+
if (_fontColorIcon != null)
120+
{
121+
_fontColorIcon.Foreground = new SolidColorBrush(_canvasTextBoxColorPicker.Color);
122+
}
120123
}
121124

122125
private void CanvasTextBox_TextChanged(object sender, string text)

Microsoft.Toolkit.Uwp.UI.Controls/InfiniteCanvas/InfiniteCanvas.cs

Lines changed: 56 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,49 @@ namespace Microsoft.Toolkit.Uwp.UI.Controls
1919
/// <summary>
2020
/// InfiniteCanvas is a canvas that supports Ink, Text, Format Text, Zoom in/out, Redo, Undo, Export canvas data, Import canvas data.
2121
/// </summary>
22+
[TemplatePart(Name = CanvasTextBoxToolsName, Type = typeof(StackPanel))]
23+
[TemplatePart(Name = CanvasTextBoxColorPickerName, Type = typeof(ColorPicker))]
24+
[TemplatePart(Name = CanvasTextBoxFontSizeTextBoxName, Type = typeof(TextBox))]
25+
[TemplatePart(Name = CanvasTextBoxItalicButtonName, Type = typeof(ToggleButton))]
26+
[TemplatePart(Name = CanvasTextBoxBoldButtonName, Type = typeof(ToggleButton))]
27+
[TemplatePart(Name = DrawingSurfaceRendererName, Type = typeof(InfiniteCanvasVirtualDrawingSurface))]
28+
[TemplatePart(Name = MainContainerName, Type = typeof(Canvas))]
29+
[TemplatePart(Name = InfiniteCanvasScrollViewerName, Type = typeof(ScrollViewer))]
30+
[TemplatePart(Name = EraseAllButtonName, Type = typeof(Button))]
31+
[TemplatePart(Name = CanvasTextBoxName, Type = typeof(InfiniteCanvasTextBox))]
32+
[TemplatePart(Name = EnableTextButtonName, Type = typeof(InkToolbarCustomToolButton))]
33+
[TemplatePart(Name = EnableTouchInkingButtonName, Type = typeof(InkToolbarCustomToggleButton))]
34+
[TemplatePart(Name = InkCanvasToolBarName, Type = typeof(InkToolbar))]
35+
[TemplatePart(Name = CanvasToolbarContainerName, Type = typeof(StackPanel))]
36+
[TemplatePart(Name = DrawingInkCanvasName, Type = typeof(InkCanvas))]
37+
[TemplatePart(Name = UndoButtonName, Type = typeof(Button))]
38+
[TemplatePart(Name = RedoButtonName, Type = typeof(Button))]
39+
[TemplatePart(Name = FontColorIconName, Type = typeof(FontIcon))]
2240
public partial class InfiniteCanvas : Control
2341
{
2442
private const double DefaultMaxZoomFactor = 4.0;
2543
private const double DefaultMinZoomFactor = .25;
2644
private const double LargeCanvasWidthHeight = 1 << 21;
2745

46+
private const string CanvasTextBoxToolsName = "CanvasTextBoxTools";
47+
private const string CanvasTextBoxColorPickerName = "CanvasTextBoxColorPicker";
48+
private const string CanvasTextBoxFontSizeTextBoxName = "CanvasTextBoxFontSizeTextBox";
49+
private const string CanvasTextBoxItalicButtonName = "CanvasTextBoxItalicButton";
50+
private const string CanvasTextBoxBoldButtonName = "CanvasTextBoxBoldButton";
51+
private const string DrawingSurfaceRendererName = "DrawingSurfaceRenderer";
52+
private const string MainContainerName = "MainContainer";
53+
private const string InfiniteCanvasScrollViewerName = "InfiniteCanvasScrollViewer";
54+
private const string EraseAllButtonName = "EraseAllButton";
55+
private const string CanvasTextBoxName = "CanvasTextBox";
56+
private const string EnableTextButtonName = "EnableTextButton";
57+
private const string EnableTouchInkingButtonName = "EnableTouchInkingButton";
58+
private const string InkCanvasToolBarName = "InkCanvasToolBar";
59+
private const string CanvasToolbarContainerName = "CanvasToolbarContainer";
60+
private const string DrawingInkCanvasName = "DrawingInkCanvas";
61+
private const string UndoButtonName = "UndoButton";
62+
private const string RedoButtonName = "RedoButton";
63+
private const string FontColorIconName = "FontColorIcon";
64+
2865
private InkCanvas _inkCanvas;
2966
private InfiniteCanvasVirtualDrawingSurface _drawingSurfaceRenderer;
3067
private InkSynchronizer _inkSync;
@@ -163,25 +200,25 @@ public InfiniteCanvas()
163200
/// <inheritdoc />
164201
protected override void OnApplyTemplate()
165202
{
166-
_canvasTextBoxTools = (StackPanel)GetTemplateChild("CanvasTextBoxTools");
167-
_canvasTextBoxColorPicker = (ColorPicker)GetTemplateChild("CanvasTextBoxColorPicker");
168-
_canvasTextBoxFontSizeTextBox = (TextBox)GetTemplateChild("CanvasTextBoxFontSizeTextBox");
169-
_canvasTextBoxItalicButton = (ToggleButton)GetTemplateChild("CanvasTextBoxItalicButton");
170-
_canvasTextBoxBoldButton = (ToggleButton)GetTemplateChild("CanvasTextBoxBoldButton");
171-
_drawingSurfaceRenderer = (InfiniteCanvasVirtualDrawingSurface)GetTemplateChild("DrawingSurfaceRenderer");
172-
_mainContainer = (Canvas)GetTemplateChild("MainContainer");
173-
_infiniteCanvasScrollViewer = (ScrollViewer)GetTemplateChild("InfiniteCanvasScrollViewer");
174-
_eraseAllButton = (Button)GetTemplateChild("EraseAllButton");
175-
_canvasTextBox = (InfiniteCanvasTextBox)GetTemplateChild("CanvasTextBox");
176-
_enableTextButton = (InkToolbarCustomToolButton)GetTemplateChild("EnableTextButton");
177-
_enableTouchInkingButton = (InkToolbarCustomToggleButton)GetTemplateChild("EnableTouchInkingButton");
178-
_inkCanvasToolBar = (InkToolbar)GetTemplateChild("InkCanvasToolBar");
179-
_canvasToolbarContainer = (StackPanel)GetTemplateChild("CanvasToolbarContainer");
180-
181-
_inkCanvas = (InkCanvas)GetTemplateChild("DrawingInkCanvas");
182-
_undoButton = (Button)GetTemplateChild("UndoButton");
183-
_redoButton = (Button)GetTemplateChild("RedoButton");
184-
_fontColorIcon = (FontIcon)GetTemplateChild("FontColorIcon");
203+
_canvasTextBoxTools = (StackPanel)GetTemplateChild(CanvasTextBoxToolsName);
204+
_canvasTextBoxColorPicker = (ColorPicker)GetTemplateChild(CanvasTextBoxColorPickerName);
205+
_canvasTextBoxFontSizeTextBox = (TextBox)GetTemplateChild(CanvasTextBoxFontSizeTextBoxName);
206+
_canvasTextBoxItalicButton = (ToggleButton)GetTemplateChild(CanvasTextBoxItalicButtonName);
207+
_canvasTextBoxBoldButton = (ToggleButton)GetTemplateChild(CanvasTextBoxBoldButtonName);
208+
_drawingSurfaceRenderer = (InfiniteCanvasVirtualDrawingSurface)GetTemplateChild(DrawingSurfaceRendererName);
209+
_mainContainer = (Canvas)GetTemplateChild(MainContainerName);
210+
_infiniteCanvasScrollViewer = (ScrollViewer)GetTemplateChild(InfiniteCanvasScrollViewerName);
211+
_eraseAllButton = (Button)GetTemplateChild(EraseAllButtonName);
212+
_canvasTextBox = (InfiniteCanvasTextBox)GetTemplateChild(CanvasTextBoxName);
213+
_enableTextButton = (InkToolbarCustomToolButton)GetTemplateChild(EnableTextButtonName);
214+
_enableTouchInkingButton = (InkToolbarCustomToggleButton)GetTemplateChild(EnableTouchInkingButtonName);
215+
_inkCanvasToolBar = (InkToolbar)GetTemplateChild(InkCanvasToolBarName);
216+
_canvasToolbarContainer = (StackPanel)GetTemplateChild(CanvasToolbarContainerName);
217+
218+
_inkCanvas = (InkCanvas)GetTemplateChild(DrawingInkCanvasName);
219+
_undoButton = (Button)GetTemplateChild(UndoButtonName);
220+
_redoButton = (Button)GetTemplateChild(RedoButtonName);
221+
_fontColorIcon = (FontIcon)GetTemplateChild(FontColorIconName);
185222

186223
UnRegisterEvents();
187224
RegisterEvents();

0 commit comments

Comments
 (0)