@@ -19,12 +19,49 @@ namespace Microsoft.Toolkit.Uwp.UI.Controls
19
19
/// <summary>
20
20
/// InfiniteCanvas is a canvas that supports Ink, Text, Format Text, Zoom in/out, Redo, Undo, Export canvas data, Import canvas data.
21
21
/// </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 ) ) ]
22
40
public partial class InfiniteCanvas : Control
23
41
{
24
42
private const double DefaultMaxZoomFactor = 4.0 ;
25
43
private const double DefaultMinZoomFactor = .25 ;
26
44
private const double LargeCanvasWidthHeight = 1 << 21 ;
27
45
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
+
28
65
private InkCanvas _inkCanvas ;
29
66
private InfiniteCanvasVirtualDrawingSurface _drawingSurfaceRenderer ;
30
67
private InkSynchronizer _inkSync ;
@@ -163,25 +200,25 @@ public InfiniteCanvas()
163
200
/// <inheritdoc />
164
201
protected override void OnApplyTemplate ( )
165
202
{
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 ) ;
185
222
186
223
UnRegisterEvents ( ) ;
187
224
RegisterEvents ( ) ;
0 commit comments