InfiniteCanvas Class 
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
InfiniteCanvas is a canvas that supports Ink, Text, Format Text, Zoom in/out, Redo, Undo, Export canvas data, Import canvas data.
[Windows.UI.Xaml.TemplatePart(Name="CanvasTextBoxTools", Type=typeof(Windows.UI.Xaml.Controls.StackPanel))]
[Windows.UI.Xaml.TemplatePart(Name="CanvasTextBoxColorPicker", Type=typeof(Windows.UI.Xaml.Controls.ColorPicker))]
[Windows.UI.Xaml.TemplatePart(Name="CanvasTextBoxFontSizeTextBox", Type=typeof(Windows.UI.Xaml.Controls.TextBox))]
[Windows.UI.Xaml.TemplatePart(Name="CanvasTextBoxItalicButton", Type=typeof(Windows.UI.Xaml.Controls.Primitives.ToggleButton))]
[Windows.UI.Xaml.TemplatePart(Name="CanvasTextBoxBoldButton", Type=typeof(Windows.UI.Xaml.Controls.Primitives.ToggleButton))]
[Windows.UI.Xaml.TemplatePart(Name="DrawingSurfaceRenderer", Type=typeof(Microsoft.Toolkit.Uwp.UI.Controls.InfiniteCanvasVirtualDrawingSurface))]
[Windows.UI.Xaml.TemplatePart(Name="MainContainer", Type=typeof(Windows.UI.Xaml.Controls.Canvas))]
[Windows.UI.Xaml.TemplatePart(Name="InfiniteCanvasScrollViewer", Type=typeof(Windows.UI.Xaml.Controls.ScrollViewer))]
[Windows.UI.Xaml.TemplatePart(Name="EraseAllButton", Type=typeof(Windows.UI.Xaml.Controls.Button))]
[Windows.UI.Xaml.TemplatePart(Name="CanvasTextBox", Type=typeof(Microsoft.Toolkit.Uwp.UI.Controls.InfiniteCanvasTextBox))]
[Windows.UI.Xaml.TemplatePart(Name="EnableTextButton", Type=typeof(Windows.UI.Xaml.Controls.InkToolbarCustomToolButton))]
[Windows.UI.Xaml.TemplatePart(Name="EnableTouchInkingButton", Type=typeof(Windows.UI.Xaml.Controls.InkToolbarCustomToggleButton))]
[Windows.UI.Xaml.TemplatePart(Name="InkCanvasToolBar", Type=typeof(Windows.UI.Xaml.Controls.InkToolbar))]
[Windows.UI.Xaml.TemplatePart(Name="CanvasToolbarContainer", Type=typeof(Windows.UI.Xaml.Controls.StackPanel))]
[Windows.UI.Xaml.TemplatePart(Name="DrawingInkCanvas", Type=typeof(Windows.UI.Xaml.Controls.InkCanvas))]
[Windows.UI.Xaml.TemplatePart(Name="UndoButton", Type=typeof(Windows.UI.Xaml.Controls.Button))]
[Windows.UI.Xaml.TemplatePart(Name="RedoButton", Type=typeof(Windows.UI.Xaml.Controls.Button))]
[Windows.UI.Xaml.TemplatePart(Name="FontColorIcon", Type=typeof(Windows.UI.Xaml.Controls.FontIcon))]
public class InfiniteCanvas : Windows.UI.Xaml.Controls.Control[Windows.UI.Xaml.TemplatePart(Name="CanvasTextBoxTools", Type=typeof(Windows.UI.Xaml.Controls.StackPanel))]
[Windows.UI.Xaml.TemplatePart(Name="CanvasTextBoxColorPicker", Type=typeof(Windows.UI.Xaml.Controls.ColorPicker))]
[Windows.UI.Xaml.TemplatePart(Name="CanvasTextBoxItalicButton", Type=typeof(Windows.UI.Xaml.Controls.Primitives.ToggleButton))]
[Windows.UI.Xaml.TemplatePart(Name="CanvasTextBoxBoldButton", Type=typeof(Windows.UI.Xaml.Controls.Primitives.ToggleButton))]
[Windows.UI.Xaml.TemplatePart(Name="DrawingSurfaceRenderer", Type=typeof(Microsoft.Toolkit.Uwp.UI.Controls.InfiniteCanvasVirtualDrawingSurface))]
[Windows.UI.Xaml.TemplatePart(Name="MainContainer", Type=typeof(Windows.UI.Xaml.Controls.Canvas))]
[Windows.UI.Xaml.TemplatePart(Name="InfiniteCanvasScrollViewer", Type=typeof(Windows.UI.Xaml.Controls.ScrollViewer))]
[Windows.UI.Xaml.TemplatePart(Name="EraseAllButton", Type=typeof(Windows.UI.Xaml.Controls.Button))]
[Windows.UI.Xaml.TemplatePart(Name="CanvasTextBox", Type=typeof(Microsoft.Toolkit.Uwp.UI.Controls.InfiniteCanvasTextBox))]
[Windows.UI.Xaml.TemplatePart(Name="EnableTextButton", Type=typeof(Windows.UI.Xaml.Controls.InkToolbarCustomToolButton))]
[Windows.UI.Xaml.TemplatePart(Name="EnableTouchInkingButton", Type=typeof(Windows.UI.Xaml.Controls.InkToolbarCustomToggleButton))]
[Windows.UI.Xaml.TemplatePart(Name="InkCanvasToolBar", Type=typeof(Windows.UI.Xaml.Controls.InkToolbar))]
[Windows.UI.Xaml.TemplatePart(Name="CanvasToolbarContainer", Type=typeof(Windows.UI.Xaml.Controls.StackPanel))]
[Windows.UI.Xaml.TemplatePart(Name="DrawingInkCanvas", Type=typeof(Windows.UI.Xaml.Controls.InkCanvas))]
[Windows.UI.Xaml.TemplatePart(Name="UndoButton", Type=typeof(Windows.UI.Xaml.Controls.Button))]
[Windows.UI.Xaml.TemplatePart(Name="RedoButton", Type=typeof(Windows.UI.Xaml.Controls.Button))]
[Windows.UI.Xaml.TemplatePart(Name="FontColorIcon", Type=typeof(Windows.UI.Xaml.Controls.FontIcon))]
[Windows.UI.Xaml.TemplatePart(Name="CanvasComboBoxFontSizeTextBox", Type=typeof(Windows.UI.Xaml.Controls.TextBox))]
public class InfiniteCanvas : Windows.UI.Xaml.Controls.Control[<Windows.UI.Xaml.TemplatePart(Name="CanvasTextBoxTools", Type=typeof(Windows.UI.Xaml.Controls.StackPanel))>]
[<Windows.UI.Xaml.TemplatePart(Name="CanvasTextBoxColorPicker", Type=typeof(Windows.UI.Xaml.Controls.ColorPicker))>]
[<Windows.UI.Xaml.TemplatePart(Name="CanvasTextBoxFontSizeTextBox", Type=typeof(Windows.UI.Xaml.Controls.TextBox))>]
[<Windows.UI.Xaml.TemplatePart(Name="CanvasTextBoxItalicButton", Type=typeof(Windows.UI.Xaml.Controls.Primitives.ToggleButton))>]
[<Windows.UI.Xaml.TemplatePart(Name="CanvasTextBoxBoldButton", Type=typeof(Windows.UI.Xaml.Controls.Primitives.ToggleButton))>]
[<Windows.UI.Xaml.TemplatePart(Name="DrawingSurfaceRenderer", Type=typeof(Microsoft.Toolkit.Uwp.UI.Controls.InfiniteCanvasVirtualDrawingSurface))>]
[<Windows.UI.Xaml.TemplatePart(Name="MainContainer", Type=typeof(Windows.UI.Xaml.Controls.Canvas))>]
[<Windows.UI.Xaml.TemplatePart(Name="InfiniteCanvasScrollViewer", Type=typeof(Windows.UI.Xaml.Controls.ScrollViewer))>]
[<Windows.UI.Xaml.TemplatePart(Name="EraseAllButton", Type=typeof(Windows.UI.Xaml.Controls.Button))>]
[<Windows.UI.Xaml.TemplatePart(Name="CanvasTextBox", Type=typeof(Microsoft.Toolkit.Uwp.UI.Controls.InfiniteCanvasTextBox))>]
[<Windows.UI.Xaml.TemplatePart(Name="EnableTextButton", Type=typeof(Windows.UI.Xaml.Controls.InkToolbarCustomToolButton))>]
[<Windows.UI.Xaml.TemplatePart(Name="EnableTouchInkingButton", Type=typeof(Windows.UI.Xaml.Controls.InkToolbarCustomToggleButton))>]
[<Windows.UI.Xaml.TemplatePart(Name="InkCanvasToolBar", Type=typeof(Windows.UI.Xaml.Controls.InkToolbar))>]
[<Windows.UI.Xaml.TemplatePart(Name="CanvasToolbarContainer", Type=typeof(Windows.UI.Xaml.Controls.StackPanel))>]
[<Windows.UI.Xaml.TemplatePart(Name="DrawingInkCanvas", Type=typeof(Windows.UI.Xaml.Controls.InkCanvas))>]
[<Windows.UI.Xaml.TemplatePart(Name="UndoButton", Type=typeof(Windows.UI.Xaml.Controls.Button))>]
[<Windows.UI.Xaml.TemplatePart(Name="RedoButton", Type=typeof(Windows.UI.Xaml.Controls.Button))>]
[<Windows.UI.Xaml.TemplatePart(Name="FontColorIcon", Type=typeof(Windows.UI.Xaml.Controls.FontIcon))>]
type InfiniteCanvas = class
    inherit Control[<Windows.UI.Xaml.TemplatePart(Name="CanvasTextBoxTools", Type=typeof(Windows.UI.Xaml.Controls.StackPanel))>]
[<Windows.UI.Xaml.TemplatePart(Name="CanvasTextBoxColorPicker", Type=typeof(Windows.UI.Xaml.Controls.ColorPicker))>]
[<Windows.UI.Xaml.TemplatePart(Name="CanvasTextBoxItalicButton", Type=typeof(Windows.UI.Xaml.Controls.Primitives.ToggleButton))>]
[<Windows.UI.Xaml.TemplatePart(Name="CanvasTextBoxBoldButton", Type=typeof(Windows.UI.Xaml.Controls.Primitives.ToggleButton))>]
[<Windows.UI.Xaml.TemplatePart(Name="DrawingSurfaceRenderer", Type=typeof(Microsoft.Toolkit.Uwp.UI.Controls.InfiniteCanvasVirtualDrawingSurface))>]
[<Windows.UI.Xaml.TemplatePart(Name="MainContainer", Type=typeof(Windows.UI.Xaml.Controls.Canvas))>]
[<Windows.UI.Xaml.TemplatePart(Name="InfiniteCanvasScrollViewer", Type=typeof(Windows.UI.Xaml.Controls.ScrollViewer))>]
[<Windows.UI.Xaml.TemplatePart(Name="EraseAllButton", Type=typeof(Windows.UI.Xaml.Controls.Button))>]
[<Windows.UI.Xaml.TemplatePart(Name="CanvasTextBox", Type=typeof(Microsoft.Toolkit.Uwp.UI.Controls.InfiniteCanvasTextBox))>]
[<Windows.UI.Xaml.TemplatePart(Name="EnableTextButton", Type=typeof(Windows.UI.Xaml.Controls.InkToolbarCustomToolButton))>]
[<Windows.UI.Xaml.TemplatePart(Name="EnableTouchInkingButton", Type=typeof(Windows.UI.Xaml.Controls.InkToolbarCustomToggleButton))>]
[<Windows.UI.Xaml.TemplatePart(Name="InkCanvasToolBar", Type=typeof(Windows.UI.Xaml.Controls.InkToolbar))>]
[<Windows.UI.Xaml.TemplatePart(Name="CanvasToolbarContainer", Type=typeof(Windows.UI.Xaml.Controls.StackPanel))>]
[<Windows.UI.Xaml.TemplatePart(Name="DrawingInkCanvas", Type=typeof(Windows.UI.Xaml.Controls.InkCanvas))>]
[<Windows.UI.Xaml.TemplatePart(Name="UndoButton", Type=typeof(Windows.UI.Xaml.Controls.Button))>]
[<Windows.UI.Xaml.TemplatePart(Name="RedoButton", Type=typeof(Windows.UI.Xaml.Controls.Button))>]
[<Windows.UI.Xaml.TemplatePart(Name="FontColorIcon", Type=typeof(Windows.UI.Xaml.Controls.FontIcon))>]
[<Windows.UI.Xaml.TemplatePart(Name="CanvasComboBoxFontSizeTextBox", Type=typeof(Windows.UI.Xaml.Controls.TextBox))>]
type InfiniteCanvas = class
    inherit ControlPublic Class InfiniteCanvas
Inherits Control- Inheritance
- 
				Windows.UI.Xaml.Controls.ControlInfiniteCanvas
- Attributes
- 
			Windows.UI.Xaml.TemplatePartAttribute
Constructors
| InfiniteCanvas() | Initializes a new instance of the InfiniteCanvas class. | 
Fields
| CanvasHeightProperty | Identifies the CanvasHeight dependency property. | 
| CanvasWidthProperty | Identifies the CanvasWidth dependency property. | 
| IsToolbarVisibleProperty | Identifies the IsToolbarVisible dependency property. | 
| MaxZoomFactorProperty | Identifies the MaxZoomFactor dependency property. | 
| MinZoomFactorProperty | Identifies the MinZoomFactor dependency property. | 
Properties
| CanvasHeight | Gets or sets the height of the canvas, default value is the max value 2097152 | 
| CanvasWidth | Gets or sets the width of the canvas, default value is the max value 2097152 | 
| IsToolbarVisible | Gets or sets a value indicating whether the toolbar is visible or not. | 
| MaxZoomFactor | Gets or sets the MaxZoomFactor for the canvas, range between 1 to 10 and the default value is 4 | 
| MinZoomFactor | Gets or sets the MinZoomFactor for the canvas, range between .1 to 1 the default value is .25 | 
Methods
| ExportAsJson() | Export the InfinitCanvas as json string. | 
| ExportInkStrokes() | Export the InfiniteCanvas ink strokes. | 
| ExportText() | Export the InfiniteCanvas raw text. | 
| ImportFromJson(String) | Import InfiniteCanvas from json string and render the new canvas, this function will empty the Redo/Undo queue. | 
| OnApplyTemplate() | Windows.UI.Xaml.Controls.Control.OnApplyTemplate | 
| OnKeyDown(KeyRoutedEventArgs) | Windows.UI.Xaml.Controls.Control.OnKeyDown(Windows.UI.Xaml.Input.KeyRoutedEventArgs) | 
| Redo() | Redo the last action. | 
| SaveBitmapAsync(IRandomAccessStream, BitmapFileFormat) | This method exports the max possible view of the InfiniteCanvas drawings as offScreen drawings that can be converted to image. Max is calculated using CanvasDevice.MaximumBitmapSizeInPixels | 
| Undo() | Undo the last action. | 
Events
| ReRenderCompleted | This event triggered after each render happened because of any change in the canvas elements. |