La User eXperience (UX) è un concetto che non solo abbraccia la struttura dei layout e gli stili dei controlli, legati più che altro alla UI, ma riguarda anche la gestione dei suoni, che spesso vengono ignorati nella maggior parte delle applicazioni ma che invece sono utili per dare ancora più immersività e contesto all'utente che sta utilizzando l'applicazione.
Nella Universal Windows Platform alcuni suoni "di sistema" sono già pronti all'uso, ma non sempre sono attivi: è la piattaforma target che, di fatto, decide se abilitare i suoi oppure no. Pensiamo, ad esempio, alla Xbox: poiché questa richiede che l'utente sia concentrato, per offrire un'esperienza migliore i suoni vengono abilitati di default durante la navigazione delle pagine e sulla selezione dei contenuti, cosa che invece non avviene necessariamente sul mondo desktop.
Per unificare l'esperienza ed abilitare l'audio anche sugli altri target, è necessario fare uso della classe ElementSoundPlayer per impostarne sia il volume che la possibilità di riprodurre (oppure no) i suoni:
<Slider Minimum="0" Maximum="100" Value="50" ValueChanged="OnSliderValueChanged" Header="Volume" />
private void OnSliderValueChanged(object sender, RangeBaseValueChangedEventArgs e) { var slider = sender as Slider; var volumeLevel = slider.Value / 100; if (volumeLevel == 0) { ElementSoundPlayer.State = ElementSoundPlayerState.Off; return; } ElementSoundPlayer.State = ElementSoundPlayerState.On; ElementSoundPlayer.Volume = volumeLevel; }
Nell'esempio proposto, il livello del volume è impostato attraverso uno slider mostrato nella UI, così che sia direttamente l'utente a scegliere il livello desiderato. Eventualmente è anche possibile riprodurre i suoni già previsti dalla piattaforma, esposti dall'enum ElementSoundKind:
private void Play() { ElementSoundPlayer.Play(ElementSoundKind.Invoke); }
I suoni predefiniti includono Focus, GoBack, Hide, Invoke, MoveNext/MovePrevious e Show, che sono piuttosto esplicativi nel loro utilizzo e sono già integrati in alcuni controlli di base, come, ad esempio, i pulsanti. In caso in cui si vogliano disabilitare, è sufficiente sfruttare la proprietà ElementSoundMode:
<Button Content="Play" ... ElementSoundMode="Off" />
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Esporre un server MCP con Azure API Management
Configuratione e utilizzo .NET Aspire CLI
Generare una User Delegation SAS in .NET per Azure Blob Storage
Creare una libreria CSS universale - Rotazione degli elementi
Utilizzare i variable font nel CSS
Proteggere le risorse Azure con private link e private endpoints
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Eseguire script pre e post esecuzione di un workflow di GitHub
Potenziare la ricerca su Cosmos DB con Full Text Search
Ricevere notifiche sui test con Azure Load Testing
I più letti di oggi
- Interagire con Azure DevOps tramite MCP Server
- ASPItalia.com Web Day: 18 anni - Milano
- IronPython arriva alla beta 6
- Le novità di C#6 e Visual Studio 2015
- Autenticazione ad applicazioni ASP.NET con Hawk
- Un custom control DropDownList con più DataTextField
- Tutorial ASP.NET MVC
- Tutorial Database
- chiudiamo con @GentiliMoreno: autenticazione e autorizzazione per #asp.netmvc e #webapi con #owin: https://aspit.co/web14-live #aspilive
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!