La build 15021 per gli utenti tramite il programma Windows Insider, oppure più comunemente il Creators Update, ha introdotto una nuova modalità di visualizzazione dei contenuti chiamato Picture-In-Picture mode.
Questa nuova modalità consente di vedere i contenuti, seppur magari in finestra di dimensioni ridotte, sempre in cima rispetto alle altre finestre aperte, così si possa tenere un occhio sui contenuti pur lavorando ad altro: ad esempio, potrebbe essere utile per un'applicazione che riproduce video, abilitare la modalità Picture-In-Picture per far sì che i video siano visibili anche mentre l'utente effettua altre operazioni, come leggere le mail oppure scrivere un documento di Word.
Per abilitare questa modalità, anche chiamata CompactOverlay, sono sufficienti un paio di righe di codice:
if (ApplicationView.GetForCurrentView().IsViewModeSupported(ApplicationViewMode.CompactOverlay)) { var hasChangedView = await ApplicationView.GetForCurrentView().TryEnterViewModeAsync(ApplicationViewMode.CompactOverlay); }
All'interno di questo brevissimo esempio abbiamo controllato che la modalità sia attivabile su quel determinato dispositivo con Windows 10 e quindi proviamo ad entrarci: questo metodo verrà probabilmente chiamato da un pulsante ad-hoc all'interno della view che l'utente può abilitare per cambiare modalità di visualizzazione. Per tornare alla modalità "normale", è necessario assegnare ApplicationViewMode.Default.
Eventualmente, è anche possibile passare dei parametri relativi alla finestra della nuova modalità, come ad esempio la dimensione che dovrà avere dopo il cambio:
ViewModePreferences compactOptions = ViewModePreferences.CreateDefault(ApplicationViewMode.CompactOverlay); compactOptions.CustomSize = new Windows.Foundation.Size(320, 200); var hasChangedView = await ApplicationView.GetForCurrentView().TryEnterViewModeAsync(ApplicationViewMode.Default, compactOptions);
Ci sono infine casi in cui potrebbe essere necessario, per via di complessità architetturali o anche più semplicemente per scelta, dedicare una nuova finestra ed un nuovo flusso di navigazione alla modalità CompactOverlay. Questa funzionalità può essere attivata con poche righe di codice che vanno a creare un nuovo Frame:
private async void ShowCompactView() { await CoreApplication.CreateNewView().Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { var frame = new Frame(); compactViewId = ApplicationView.GetForCurrentView().Id; frame.Navigate(typeof(MyCompactOverlayPage)); Window.Current.Content = frame; Window.Current.Activate(); }); var hasChangedView = await ApplicationViewSwitcher.TryShowAsViewModeAsync(compactViewId, ApplicationViewMode.CompactOverlay); }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Limitare le richieste lato server con l'interactive routing di Blazor 8
Creare una libreria CSS universale: i bottoni
Utilizzare il trigger SQL con le Azure Function
Migrare una service connection a workload identity federation in Azure DevOps
Disabilitare automaticamente un workflow di GitHub (parte 2)
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Utilizzare un service principal per accedere a Azure Container Registry
Utilizzare Model as a Service su Microsoft Azure
C# 12: Cosa c'è di nuovo e interessante
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Proteggere le risorse Azure con private link e private endpoints
I più letti di oggi
- 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
- Aumentare la scalabilità di ASP.NET Core Web API con caching client side
- Visualizzare contenuti Fullscreen con HTML5
- Disabilitare un bottone in una pagina HTML pensando all'accessibilità
- Realizzare siti sicuri con ASP.NET Web Pages
- Focus dei tag input con HTML5
- Disponibile la beta di Silverlight 5
- Ricavare lo spazio occupato su disco dal nostro sito