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
Configurare e gestire sidecar container in Azure App Service
Definire il colore di una scrollbar HTML tramite CSS
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Impostare la content-visibility in CSS per ottimizare il rendering iniziale di una pagina
Integrare SQL Server in un progetto .NET Aspire
Importare repository da Bitbucket a GitHub Enterprise Cloud
Ricevere notifiche sui test con Azure Load Testing
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Self-healing degli unit test con Copilot in GitHub
Rendere le variabili read-only in una pipeline di Azure DevOps
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Integrare modelli AI in un workflow di GitHub
I più letti di oggi
- Le DirectInk API nella Universal Windows Platform
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Sfruttare una CDN con i bundle di ASP.NET
- Inserire le news di Punto Informatico nel proprio sito
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps


