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
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Routing statico e PreRendering in una Blazor Web App
Creare una libreria CSS universale: Clip-path
C# 12: Cosa c'è di nuovo e interessante
Migliorare l'organizzazione delle risorse con Azure Policy
Potenziare Azure AI Search con la ricerca vettoriale
Utilizzare politiche di resiliency con Azure Container App
Limitare le richieste lato server con l'interactive routing di Blazor 8
Filtering sulle colonne in una QuickGrid di Blazor
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Ordine e importanza per @layer in CSS
Ottenere un token di accesso per una GitHub App
I più letti di oggi
- Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
- Accedere con ASP.NET ad un documento XML creato dall'oggetto recordset di ADO e ASP
- Richiamare programmaticamente le operazioni di aggiornamento, eliminazione e inserimento di FormView, DetailsView e GridView
- Ricavare lo spazio occupato su disco dal nostro sito
- Realizzare siti sicuri con ASP.NET Web Pages