AppWindow Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un contenitore gestito dal sistema per il contenuto di un'app.
public ref class AppWindow sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 524288)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class AppWindow final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 524288)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class AppWindow
Public NotInheritable Class AppWindow
- Ereditarietà
- Attributi
Requisiti Windows
Famiglia di dispositivi |
Windows 10, version 1903 (è stato introdotto in 10.0.18362.0)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v8.0)
|
Commenti
Nota
AppWindow è attualmente disponibile in anteprima. Ciò significa che puoi inviare app che usano AppWindow allo Store, ma è noto che alcuni componenti della piattaforma e del framework non funzionano con AppWindow (vedi Limitazioni).
Un'appWindow può essere usata per rappresentare una parte visualizzata di un'app Windows Runtime quando ha più di una finestra. È simile al concetto di ApplicationView, ma non allo stesso modo nel comportamento e nella durata.
A differenza di ApplicationView, ogni AppWindow non ha un CoreWindow corrispondente. Condividono tutti lo stesso thread di elaborazione dell'interfaccia utente (incluso il dispatcher eventi) da cui sono stati creati.
Per ottenere un oggetto di questo tipo, chiamare AppWindow.TryCreateAsync.
Per connettere il contenuto a AppWindow, chiamare ElementCompositionPreview.SetAppWindowContent.
È possibile connettere il contenuto XAML solo a AppWindow, non è disponibile alcun supporto per il contenuto DirectX nativo o Holographic.
Per specificare una dimensione minima preferita per la finestra dell'app, usare il metodo WindowManagementPreview.SetPreferredMinSize .
Suggerimento
Per altre info e codice che illustra AppWindow, vedi Mostra più visualizzazioni per un'app e Mostra più visualizzazioni con AppWindow.
Un esempio che mostra come usare l'API AppWindow è disponibile nel repository Degli esempi universali di Windows in GitHub in Samples/AppWindow.
Limitazioni
Le limitazioni nella versione di anteprima corrente di AppWindow includono (questo è un elenco non esaustivo):
- Qualsiasi API che usa il modello GetForCurrentView non funziona per AppWindow perché CurrentView fa riferimento a ApplicationView, che è un'entità separata da AppWindow.
- La riproduzione multimediale a schermo intero non è disponibile in MediaElement o MediaPlayerElement.
- MessageDialog non sarà modale per la finestra corretta, ma è consigliabile usare ContentDialog .
- WebView non è completamente supportato. È possibile usare un controllo WebView in-proc, ma qualsiasi elemento al di fuori del contenuto HTML statico potrebbe funzionare correttamente.
- Se imposti la proprietà Window.Current.Content in XAML, elimina definitivamente tutto il contenuto XAML in AppWindow. Evitare di usarlo come modello per reimpostare il contenuto quando si sospende l'app se si usa AppWindow.
- Smooth Window Resize non funziona per AppWindows. La cornice e il contenuto verranno ridimensionati in modo indipendente, che può risultare non terminata quando il layout del contenuto è lento.
- DisplayInformation non è accessibile per AppWindow. Se AppWindow si trova su un monitor diverso da ApplicationView, non sarà possibile eseguire una query per ottenere le informazioni di visualizzazione corrette.
- UserInteractionMode non può essere impostato per un'appWindow.
- Le finestre di dialogo di stampa (2D e 3D) non verranno padre della finestra corretta.
- AppWindow non è in grado di rilevare quando vengono richiamati i movimenti del bordo.
- AppWindow non può essere usato per soddisfare una richiesta di attivazione tramite ActivationViewSwitcher.
Proprietà
Content |
Ottiene il contenuto dell'app attualmente collegato alla finestra. |
DispatcherQueue |
Ottiene la coda del dispatcher per la finestra dell'app. |
Frame |
Ottiene il frame per la finestra dell'app. |
IsVisible |
Ottiene un valore che indica se la finestra può essere visualizzata in una visualizzazione. |
PersistedStateId |
Ottiene o imposta una stringa che identifica questa finestra per il rilevamento e il salvataggio dello stato. |
Presenter |
Ottiene il relatore per la finestra dell'app. |
Title |
Ottiene o imposta il titolo visualizzato della finestra dell'app. |
TitleBar |
Ottiene la barra del titolo della finestra dell'app. |
UIContext |
Ottiene il contesto dell'interfaccia utente per la finestra dell'app. |
WindowingEnvironment |
Ottiene l'ambiente di windowing per la finestra dell'app. |
Metodi
ClearAllPersistedState() |
Cancella tutte le proprietà salvate dal sistema per qualsiasi finestra PersistedStateId per l'applicazione specificata. |
ClearPersistedState(String) |
Cancella tutte le proprietà salvate dal sistema per la finestra con l'ID specificato per l'applicazione specificata. |
CloseAsync() |
Chiude la finestra dell'app. |
GetDisplayRegions() |
Restituisce la raccolta di aree di visualizzazione disponibili per la finestra dell'app. |
GetPlacement() |
Restituisce un oggetto di posizionamento che descrive l'area di visualizzazione, l'offset e le dimensioni della finestra dell'app. |
RequestMoveAdjacentToCurrentView() |
Invia una richiesta per posizionare la finestra accanto alla visualizzazione corrente. |
RequestMoveAdjacentToWindow(AppWindow) |
Invia una richiesta per posizionare la finestra accanto alla finestra di ancoraggio specificata. |
RequestMoveRelativeToCurrentViewContent(Point) |
Effettua una richiesta per posizionare la finestra in corrispondenza dell'offset specificato rispetto alla visualizzazione corrente. |
RequestMoveRelativeToDisplayRegion(DisplayRegion, Point) |
Effettua una richiesta per posizionare la finestra nell'area di visualizzazione specificata in corrispondenza dell'offset specificato. |
RequestMoveRelativeToWindowContent(AppWindow, Point) |
Effettua una richiesta per posizionare la finestra in corrispondenza dell'offset specificato rispetto alla finestra di ancoraggio. |
RequestMoveToDisplayRegion(DisplayRegion) |
Effettua una richiesta per posizionare la finestra nell'area di visualizzazione specificata. |
RequestSize(Size) |
Effettua una richiesta per impostare la finestra sulle dimensioni specificate. |
TryCreateAsync() |
Tenta di creare in modo asincrono una nuova istanza di AppWindow. |
TryShowAsync() |
Tenta di visualizzare in modo asincrono la finestra dell'app corrente. |
Eventi
Changed |
Si verifica quando viene modificata una proprietà della finestra dell'app. |
Closed |
Si verifica quando la finestra dell'app è stata chiusa. |
CloseRequested |
Si verifica dopo l'avvio della chiusura della finestra, ma prima che venga chiuso e prima che si verifichi l'evento Closed. |