Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
In questo esempio viene illustrato come memorizzare più elementi di stato della pagina tra le istanze della pagina utilizzando IProvideCustomContentState e CustomContentState.
Nell'esempio viene illustrata una funzionalità specifica di Windows Presentation Foundation e non vengono pertanto seguite le procedure consigliate per lo sviluppo di applicazioni. Per una descrizione completa delle procedure consigliate per lo sviluppo di applicazioni Windows Presentation Foundation (WPF) e Microsoft .NET Framework, fare riferimento ai seguenti argomenti in base alle esigenze:
Accesso facilitato - Procedure consigliate per l'accesso facilitato
Localizzazione - Cenni preliminari sulla globalizzazione e localizzazione WPF
Prestazioni - Ottimizzazione delle prestazioni di applicazioni WPF
Sicurezza - Sicurezza di Windows Presentation Foundation
Compilazione dell'esempio
Installare Windows Software Development Kit (SDK) e aprire la finestra di comando dell'ambiente di compilazione. Fare clic sul pulsante Start, quindi scegliere Tutti i programmi, Microsoft Windows SDK, quindi fare clic su CMD Shell.
Scaricare l'esempio nel disco rigido locale, in genere dalla documentazione SDK.
Per generare l'esempio dalla finestra di comando dell'ambiente di compilazione , passare alla directory di origine dell'esempio. Al prompt dei comandi digitare MSBUILD.
Per compilare l'esempio in Microsoft Visual Studio, caricare il file della soluzione o del progetto dell'esempio e premere CTRL+MAIUSC+B.
Esecuzione dell'esempio
Per eseguire l'esempio compilato dalla vfinestra di comando dell'ambiente di compilazione, eseguire il file EXE nella cartella Bin\Debug o Bin\Release contenuta sotto la cartella del codice sorgente dell'esempio.
Per eseguire l'esempio compilato con il debug in Visual Studio, premere F5.
Osservazioni
Per impostazione predefinita, in Windows Presentation Foundation (WPF) non vengono archiviate le istanze della pagina nella cronologia degli spostamenti ma viene creata una nuova istanza ogni volta che si accede a una pagina. Di conseguenza, le informazioni sullo stato relative alla prima istanza della pagina non vengono memorizzate quando si accede nuovamente alla pagina. È possibile in WPF conservare le istanze della pagina e implicitamente lo stato della pagina nella cronologia degli spostamenti, sebbene sia dispendioso dal punto di vista del consumo di memoria.
WPF fornisce tuttavia un'infrastruttura che consente di archiviare le informazioni sullo stato con una voce della pagina nella cronologia degli spostamenti e di riapplicarle alla nuova istanza della pagina quando vi si accede mediante la cronologia degli spostamenti.
In questo esempio viene illustrato come implementare l'interfaccia IProvideCustomContentState per una pagina in modo da poter memorizzare un unico insieme di stato, che può contenere uno o più elementi. Quando l'utente si sposta dalla pagina, WPF chiama GetContentState per richiedere lo stato della pagina da memorizzare. GetContentState restituisce una sottoclasse di CustomContentState, creata per archiviare e ripetere lo stato.
Questa tecnica risulta utile soprattutto quando è necessario archiviare diversi elementi di stato della pagina tra le istanze della pagina. Per memorizzare un unico elemento di stato tra le istanze della pagina, è consigliabile utilizzare una proprietà di dipendenza inserita nel journal (vedere Memorizzazione di un unico elemento di stato tra le istanze della pagina). Per memorizzare più insiemi di stato per una singola istanza della pagina, vedere Memorizzazione di più insiemi di stato per ogni istanza della pagina.
Nota importante: |
|---|
Quando si archiviano le informazioni in uno stato di contenuto personalizzato, non è possibile archiviare i riferimenti all'istanza della pagina per la quale viene memorizzato lo stato. Questo impedisce che WPF rilasci l'istanza della pagina vanificando lo scopo del comportamento predefinito della cronologia degli spostamenti. Nel caso sia necessario, valutare invece l'utilizzo di KeepAlive. |
Vedere anche
Attività
Memorizzazione di un unico insieme di stato tra le istanze della pagina
Memorizzazione di più insiemi di stato per ogni istanza della pagina
Nota importante: