3,034 questions
Hello, Welcome to Microsoft Q&A,
How to drawstring on canvas
For this scenario, you could use Win2d DrawText to draw string in the CanvasVirtualControl. And the following is sample code that you could refer.
Xaml
<Canvas x:Name="MyCanvas"> </Canvas>
Code Behind
private void Page_Loaded(object sender, RoutedEventArgs e)
{
CanvasVirtualControl canvasVirtualControl = new CanvasVirtualControl();
canvasVirtualControl.Width = 1000;
canvasVirtualControl.Height = 1000;
MyCanvas.Children.Add(canvasVirtualControl);
Canvas.SetLeft(canvasVirtualControl, 0);
Canvas.SetTop(canvasVirtualControl, 0);
canvasVirtualControl.RegionsInvalidated += CanvasVirtualControl_RegionsInvalidated;
}
private void CanvasVirtualControl_RegionsInvalidated(CanvasVirtualControl sender, CanvasRegionsInvalidatedEventArgs args)
{
CanvasDrawingSession drawingSession;
Rect rect = new Rect(args.InvalidatedRegions[0].Left, args.InvalidatedRegions[0].Top, args.InvalidatedRegions[0].Width, args.InvalidatedRegions[0].Height);
using (drawingSession = sender.CreateDrawingSession(rect))
{
drawingSession.DrawText("hello",0,0,Colors.Red);
}
}