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
Supporto semplificato per le left join in Entity Framework 10
Abilitare .NET 10 su Azure App Service e Azure Functions
Utilizzare il top layer in HTML
Creare un agente A2Acon Azure Logic Apps
Impostare automaticamente l'altezza del font tramite CSS
Interagire con Azure DevOps tramite MCP Server
Keynote .NET Conference Italia 2025
Rendere affidabile lo scale out su Azure App Service
Usare il metodo nameof con un tipo generico in C# 14
Utilizzare Containers in .NET Aspire
Utilizzo di CSS Scroll Snap per realizzare un carousel
Le cron expression di un workflow di GitHub
I più letti di oggi
- Leggere i parametri da riga di comando in una file based app .NET
- Building Custom Developer Agents
- Build 2015: segui con noi tutte le novità per gli sviluppatori in diretta da San Francisco
- Build 2014: tutte le novità per gli sviluppatori in diretta da San Francisco
- Build 2016: segui con noi in live streaming!


