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 Control
Public 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. |