Il Windows Phone Runtime e l'SDK disponibili per lo sviluppo di applicazioni per Windows Phone, dispongono di molte API, elementi visuali e controlli, ma non contengono tutto il set di caratteristiche che le applicazioni native di Windows Phone hanno.
Per questo scopo viene in aiuto Silverlight for Windows Phone Toolkit che contiene, in forma stabile o come preview, controlli o API per arricchire le proprie applicazioni e per renderle il più simile possibile a quelle native. Tra gli effetti che più attraggano un'applicazione Metro vi è sicuramente la transizione tra una pagina e l'altra, di nome turnstile, che si può facilmente emulare attraverso delle attached property che si possono trovare nell'assembly Microsoft.Phone.Controls.Toolkit.
In questo script si suggerisce un modo, basato sugli stili, di applicare la transizione a tutte le pagine. Prima di tutto è necessario creare uno stile per le PhoneApplicationPage. Attraverso l'oggetto TransitionService si impostano le due proprietà che permettono di specificare le transazioni in entrate e in uscita dalla pagina.
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit" xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"> <Style x:Key="TurnstilePage" TargetType="phone:PhoneApplicationPage"> <Setter Property="toolkit:TransitionService.NavigationInTransition"> <Setter.Value> <toolkit:NavigationInTransition> <toolkit:NavigationInTransition.Backward> <toolkit:TurnstileTransition Mode="BackwardIn" /> </toolkit:NavigationInTransition.Backward> <toolkit:NavigationInTransition.Forward> <toolkit:TurnstileTransition Mode="ForwardIn" /> </toolkit:NavigationInTransition.Forward> </toolkit:NavigationInTransition> </Setter.Value> </Setter> <Setter Property="toolkit:TransitionService.NavigationOutTransition"> <Setter.Value> <toolkit:NavigationOutTransition> <toolkit:NavigationOutTransition.Backward> <toolkit:TurnstileTransition Mode="BackwardOut" /> </toolkit:NavigationOutTransition.Backward> <toolkit:NavigationOutTransition.Forward> <toolkit:TurnstileTransition Mode="ForwardOut" /> </toolkit:NavigationOutTransition.Forward> </toolkit:NavigationOutTransition> </Setter.Value> </Setter> </Style>
Definito lo stile è sufficiente utilizzarlo in tutte le pagine, come nel seguente modo.
<phone:PhoneApplicationPage Style="{StaticResource TurnstilePage}"> ...
Infine, è fondamentale cambiare la creazione del frame nel file App.xaml.cs sostituendola con il codice seguente:
// Vecchia istruzione // RootFrame = new PhoneApplicationFrame(); RootFrame = new TransitionFrame();
Il toolkit è disponibile a questo indirizzo:
http://silverlight.codeplex.com/
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Eseguire una GroupBy per entity in Entity Framework
Generare token per autenicarsi sulle API di GitHub
Disabilitare automaticamente un workflow di GitHub
Accesso sicuro ai secrets attraverso i file in Azure Container Apps
Semplificare il deployment di siti statici con Azure Static Web App
Criptare la comunicazione con mTLS in Azure Container Apps
Applicare il versioning ai nostri endpoint ASP.NET Core Minimal API
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Recuperare un elemento inserito nella cache del browser tramite API JavaScript
Registrare servizi multipli tramite chiavi in ASP.NET Core 8
I più letti di oggi
- C# 4
- Spaziatura tra i caratteri in Silverlight 5
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Segui in tempo reale il TechEd 2004
- da oggi è possibile fare login velocemente con LinkedIn e Google. a questi si aggiunge il supporto già attivo per Facebook, Twitter, Microsoft Account, Windows Hello e OpenID, per darvi sempre più possibilità di accedere semplicemente alla nostra community! #aspitalia
- Migrare una service connection a workload identity federation in Azure DevOps
- Evitare postback multipli in un UpdatePanel