La DirectInk platform è il nuovo set di API disponibili nella Universal Windows Platform dedicate al digital inking. A differenza delle precedenti versioni di WinRT la nuova DirectInk Platform ci permette senza troppa fatica di beneficiare della stessa inking experience che Microsoft Edge e OneNote offrono. In Windows 8.1 infatti era necessario gestire manualmente la superficie di disegno, rimanendo in ascolto di specifici eventi e renderizzando le varie "pennellate" dell'utente. Con Windows 10 le cose si semplificano, infatti per iniziare a utilizzare le feature built-in di inking della piattaforma ci basta utilizzare un unico, e nuovo, controllo XAML: l'InkCanvas.
<Page x:Class="App1.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:App1" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"> <InkCanvas x:Name="myInkSurface" /> </Page>
Una volta fatto questo, direttamente dal file di code behind possiamo impostare tutte le varie proprietà del nostro pennello tramite la classe InkDrawingAttributes e l'InkPresenter in questo modo:
public sealed partial class MainPage : Page { public MainPage() { InitializeComponent(); Loaded += ApplicationLoaded; } private void ApplicationLoaded(object sender, RoutedEventArgs e) { InkDrawingAttributes attr = new InkDrawingAttributes(); attr.Color = Colors.Crimson; attr.PenTip = PenTipShape.Circle; attr.Size = new Size(2, 6); myInkSurface.InkPresenter.InputDeviceTypes = CoreInputDeviceTypes.Mouse; myInkSurface.InkPresenter.UpdateDefaultDrawingAttributes(attr); } }
Delle impostazioni di questo tipo di permettono di ottenere un risultato del genere:

Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Utilizzare l nesting nativo dei CSS
Il nuovo controllo Range di Blazor 9
Gestione CSS in Blazor con .NET 9
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Utilizzare Copilot con Azure Cosmos DB
Generare la software bill of material (SBOM) in GitHub
Selettore CSS :has() e i suoi casi d'uso avanzati
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Utilizzare WhenEach per processare i risultati di una lista di task
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
I più letti di oggi
- Arriva WinFX beta2, WinFS beta2 a metà giugno
- Microsoft cambia nome a WinFX: ritorna .NET Framework 3.0
- Anche il .NET Framework 3.0 è in RC1
- #IE10 disponibile al download da subito: http://aspitalia.com/vf http://aspitalia.com/mix-11 #mix11
- #ie10 supporta il multitouch anche in #Javascript. http://aspitalia.com/build-win8 #BldWin
- il team del #windows store spiega in dettaglio come aggiungere applicazioni desktop allo store di #win8 https://aspit.co/95
- non perdete a #aspilive @CristianCivera su sviluppare app cross platform con #vs2013 e #xamarin: https://aspit.co/VS14-live #ios #android
- rilasciato l'sdk per il #microsoftband. supporto per app su #wp81 e #android: https://aspit.co/a2m
- finiamo con @itsonlyGianca e #Windows10 iot core e #raspberrypi2 con #VS2015 su #aspilive: https://aspit.co/VS2015-live
- oggi dalle 17:30 c'è il lancio online di @VisualStudio 2015. seguitelo live qui: https://aspit.co/a51 #vs2015