Un aspetto molto interessante, ma molto spesso sottovalutato, riguarda la User eXperience (UX) delle applicazioni alla quale si sta lavorando: la maggior parte delle volte sono i dettagli meno importanti a fare la differenza tra un'applicazione curata e un'applicazione bella da vedere.
Uno dei concetti spesso trascurati è il puntatore del mouse: il classico cursore indica la posizione sullo schermo e la cliccabilità degli elementi, mentre il progress indica l'attesa per il completamento di una operazione, le doppie freccie la possibilità di ridimensionare una finestra.
Queste icone sono già integrate con il sistema operativo ma, nel caso si stia sviluppando un controllo personalizzato, possono risultare molto utili per indicare meglio all'utente le varie possibilità di interazione con quel controllo. Per farlo è sufficiente fare uso della classe CoreCursor:
CoreCursor cursor = null; cursor = new CoreCursor(CoreCursorType.Arrow, 0); cursor = new CoreCursor(CoreCursorType.Cross, 0); cursor = new CoreCursor(CoreCursorType.Wait, 0); cursor = new CoreCursor(CoreCursorType.Hand, 0); cursor = new CoreCursor(CoreCursorType.Help, 0); cursor = new CoreCursor(CoreCursorType.SizeAll, 0); Window.Current.CoreWindow.PointerCursor = cursor;
Ovviamente la logica descritta nello script è solo indicativa di alcune delle possibilità di personalizzazione offerte dall'enum CoreCursorType.
In alternativa è possibile impostare anche un CoreCursorType.Custom per rendere il puntatore veramente personalizzato. Questo è indicato per un utilizzo molto specifico, qualora si disponga già di un file *.res all'interno del file di progetto: in questo caso sarà necessario cambiare il secondo parametro del costruttore della classe CoreCursor indicando l'ID della risorsa creata.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Usare le variabili per personalizzare gli stili CSS
Utilizzare un service principal per accedere a Azure Container Registry
Miglioramenti nelle performance di Angular 16
Filtrare e rimuovere gli elementi dalla cache del browser tramite le API JavaScript
Configurare policy CORS in Azure Container Apps
Creare alias per tipi generici e tuple in C#
Generare file PDF da Blazor WebAssembly con iText
Implementare l'infinite scroll con QuickGrid in Blazor Server
Ottenere il contenuto di una cartella FTP con la libreria FluentFTP
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Come migrare da una form non tipizzata a una form tipizzata in Angular
Eseguire attività con Azure Container Jobs