Silverlight Toolkit February Update

Print Content | More

Tempo di aggiornamenti per Windows Phone, non solo per i tool di sviluppo veri e propri ma anche per il Silverlight Toolkit, preziosissima libreria di controlli disponibile su Codeplex.

Rispetto alle due release precedenti  si tratta di un update minore, dato che aggiunge solamente due nuovi controlli (che non sono realmente nuovi, ma erano già disponibili a parte sui blog Microsoft) e corregge una serie di bug riscontrati nei controlli già esistenti (molto lavoro è stato fatto sul controllo LongListSelector). Altra novità è l’introduzione di una versione in VB.NET del progetto di esempio allegato al toolkit, che mostra come utilizzare i vari controlli.

Il toolkit è disponibile in due versioni: autoinstallante (che installa la documentazione e le DLL nella cartella C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.0\Toolkit\Feb11, nel caso abbiate un sistema operativo a 32 bit dovete togliere (X86) dalla cartella Program Files) e file compresso, contenente tutti i sorgenti e un progetto di esempio. Potete scaricarle dal sito http://silverlight.codeplex.com

Ma vediamo brevemente le novità!

TiltEffect

Avete presente quell’effetto che viene applicato su quasi tutti gli elementi dell’interfaccia di Windows Phone quando selezionate un elemento? L’oggetto (sia esso un pulsante, un testo o un immagine) si sposta in obliquo, così da dare un feedback visivo all’utente dell’operazione. Ecco, questo effetto si chiama TiltEffect e il controllo in questione nasce con lo scopo di dare a tutti gli sviluppatori la possibilità di implementarlo facilmente in tutte le loro applicazioni. Come anticipato nell’introduzione, non si tratta di una novità in senso assoluto: la documentazione MSDN Microsoft conteneva già informazioni su come crearlo e utilizzarlo. La differenza è che prima bisogna importare e/o creare a mano tutte le classi necessarie, mentre ora tutto il necessario è inserito nel toolkit ed esposto sotto forma di Attached Property (ovvero una proprietà che può essere “innestata” ad un controllo già esistente).

Il suo utilizzo è molto semplice: una volta aggiunta una reference nel progetto alla libreria Microsoft.Phone.Controls.Toolkit, dobbiamo dichiararne il namespace nello XAML della nostra pagina:

xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"

A questo punto ci basta impostare, a livello della classe PhoneApplicationPage, la proprietà TiltEffect.IsTiltEnabled a True come nell’esempio:

<phone:PhoneApplicationPage 
x:Class="PhoneToolkitSample.Samples.TiltEffectSample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="PortraitOrLandscape" 
Orientation="Portrait"
mc:Ignorable="d" d:DesignHeight="768" d:DesignWidth="480"
shell:SystemTray.IsVisible="True"
toolkit:TiltEffect.IsTiltEnabled="True">

In questo modo automaticamente tutti i controlli all’interno della pagina che offrono la possibilità di essere selezionati (un pulsante, l’elemento di una ListBox, un checkbox) beneficieranno dell’effetto Tilt alla pressione.

E se volessimo disabilitarlo per alcuni controlli? Ci basta usare in questo caso la attached property TIltEffect.SuppressedTilt, da associare in questo caso solamente a quei controlli che vogliamo escludere, come nell’esempio:

<TextBlock Style="{StaticResource PhoneTextNormalStyle}"
TextWrapping="Wrap"
Text="Example Text"
toolkit:TiltEffect.SuppressTilt="True"
/>

Attenzione! Anche se non in maniera così drastica, il TiltEffect ha comunque un impatto negativo sulle performance dell’applicazione, soprattutto se la pagina in cui la utilizzate contiene tanti controlli che lo supportano. Usatela con cautela, limitandovi ad attivarla solo per quei controlli con i quali l’utilizzo dell’effetto da veramente un valore aggiunto all’esperienza d’uso della nostra applicazione (ad esempio, il feedback di utilizzo di un controllo CheckBox è efficace anche senza TiltEffect, al contrario di un controllo Button).

PerformanceProgressBar

Su questo controllo non mi dilungherò nei dettagli, dato che è lo stesso identico inserito nel toolkit Coding 4 Fun di cui vi ho parlato in questo post. Vi ricordo solo che lo scopo di questo controllo è di fornire un’implementazione alternativa della ProgressBar di Silverlight, più performante dato che non utilizza il thread principale che gestisce la UI per elaborare le animazioni.

Questa volta non troverete un progetto di esempio, dato che, come vi ho già ricordato, è incluso nel pacchetto completo contenente il codice sorgente. Il nome del progetto è PhoneToolkitSample.


Windows Phone , Microsoft , Windows Phone Toolkit

1 comments

Related Post


(will not be published)
(es: http://www.mysite.com)