Win2D ist Microsofts Ersatz für das "Paint"-Event in UWP Apps. Es funktioniert auf den ersten Blick ziemlich ähnlich, aber eben doch anders. Dieses Snippet soll zeigen wie man mit Hilfe des DrawingContexts die Größe eines Strings in einer bestimmten Schriftart ermittelt, dies geschieht über das CanvasTextFormat.
Benötigte Namespaces
Microsoft.Graphics.Canvas.Text
Microsoft.Graphics.Canvas.UI.Xaml
Benötigtes NuGet Pakage
Win2D.uwp http://bit.ly/1TDsCeB
private void CanvasControl_Draw(CanvasControl sender, CanvasDrawEventArgs args)
{
var cds = args.DrawingSession;
var text = "Hello World!";
var ctFormat = new CanvasTextFormat { FontSize = 30.0f, WordWrapping = CanvasWordWrapping.NoWrap };
var ctLayout = new CanvasTextLayout(cds, text, ctFormat, 0.0f, 0.0f);
var width = ctLayout.DrawBounds.Width;
var height = ctLayout.DrawBounds.Height;
//mache irgend etwas mit width und height
}
Kommentare zum Snippet