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
Nuove validazioni Form Blazor
Le cron expression di un workflow di GitHub
Gestione dei prompt file a livello di organizzazione aziendale in GitHub
Costruire endpoint SSE in ASP.NET Core
Response streaming con Blazor e .NET 10
Stop Building Chatbots. Build a team
Realizzare un accordion con gli elementi HTML details e summary
Integrare OpenAI tramite Aspire
Integrare il Docker Model Runner in un workflow di GitHub
Il nuovo persistent state in Blazor
Integrare modelli AI in un workflow di GitHub
Utilizzare i command service nei test con .NET Aspire


