di: Roberto Brunetti 30 Giugno 2010
Parlando di Silverlight 3 abbiamo già accennato la prima caratteristica hardware disponibile su qualunque telefono di qualunque produttore, ovvero il supporto al touch screen con quattro punti di contatto. Le classi messe a disposizione dall'ambiente .NET, simili a quelle già presenti in WPF e Silverlight, consentono di intercettare l'interazione dell'utente con lo schermo del device. Nell'esempio di codice seguente, tramite l'attributo ManipulationStarted, indichiamo al runtime il nome del metodo che consente di intercettare l'evento di inizio di "manipolazione" dell'utente.
<Grid x:Name="ContentGrid" Grid.Row="1">
<TextBlock Height="119" Width="394"
OrizontalAlignment="Left" VerticalAlignment="Top"
Margin="44,88,0,0" TextWrapping="Wrap"
Name="TextBlock1" Text="Manipulation Sample ..."
ManipulationStarted="textBlock1_ManipulationStarted" />
</Grid>
Nota: ci sono diverse metodologie per intercettare queste operazioni, come ad esempio utilizzare il metodo OnManipulationStarted a livello di singola Page. In questo articolo, qualunque esempio, viene realizzato volutamente con la tecnica più semplice al fine di introdurre gli argomenti.
Il codice della Page che ospita l'event handler mostra come intercettare l'evento ManipulationStarted per, ad esempio, modificare il codice del TextBox stesso:
namespace _40_Manipulation
{
public partial class MainPage : PhoneApplicationPage
{
public MainPage()
{
InitializeComponent();
SupportedOrientations = SupportedPageOrientation.Portrait | SupportedPageOrientation.Landscape;
}
private void textBlock1_ManipulationStarted(Object sender, ManipulationStartedEventArgs e)
{
TextBlock txtblk = sender as TextBlock;
Random rand = new Random();
Color clr = Color.FromArgb(255, (byte)rand.Next(256), (byte)rand.Next(256), (byte)rand.Next(256));
txtblk.ForeGround = new SolidColorBrush(clr);
}
}
}
Eseguendo l'esempio, anche sull'emulatore, possiamo iniziare a "manipolare" il TextBox tramite il click e trascinamento del mouse. Il metodo ManipulationStarted riceve un'istanza di ManipulationStartedEventArgs che ci mette a disposizione la proprietà ManipulationOrigin, che a sua volta espone X e Y per indicarci la posizione di inizio dell'operazione da parte dell'utente.
È anche possibile indicare al runtime, impostando la proprietà Handled a true, che abbiamo correttamente gestito l'evento evitando di invocare eventuali altri event handler nella "route" degli eventi stessi.
Ogni device avrà almeno 3 pulsanti, tra l'altro raffigurati nell'emulatore già disponibile con l'SDK: Back, Start e Search; questi tre pulsanti devono essere "fisici" su ogni device; ogni produttore hardware potrà poi aggiungere altri pulsanti sul device come ad esempio la gestione del volume, l'attivazione della fotocamera e così via, ma è garantita la presenza dei tre pulsanti principali.
Guida Windows Azure Code SnippetsLe migliori pratiche per far girare le applicazioni "in the cloud",... |
Guida ASP.NET MVC Best PracticesUn workflow dettagliato e ricco di suggerimenti pratici per... |
Guida ASP.NET Starter KitUn modo semplice per imparare ad utilizzare le tecnologie Microsoft... |
Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.
Iscriviti alla newsletter
|
|
Corso Progettazione database11 Maggio 2012 a Milano |
|
|
Amministratore di Reti Windows Server 200811 Giugno 2012 a Milano |
|
Nessun corso previsto |