2010-09-21 3 views
9

Non capisco come utilizzare alcune funzionalità di Windows Phone Toolkit nel codice cs in Silverlight (più preciso, non capisco come usare GestureListener). Ho visto molti esempi di utilizzo di GestureListener in XAML come questoCome aggiungere GestureListener ad un controllo in codice cs in silverlight?

<Image Source="something.jpg"> 
    <toolkit:GestureService.GestureListener> 
     <toolkit:GestureListener Tap="image_Tap" Hold="image_Hold" /> 
    </toolkit:GestureService.GestureListener> 
</Image> 

E questo funziona bene, ma creo le immagini in modo dinamico e desidera aggiungere dinamicamente i gestori gesto in codice cs. Qualcuno può dare un esempio su come fare la stessa cosa solo nel codice cs?

risposta

1

proprietà associate hanno tipicamente un setPropertyName e getPropertyName metodo coppia che corrispondono alla XAML sopra. Non ho esperienza con il Windows Phone 7 in particolare, ma quanto sopra sarebbe probabilmente essere fatto come:

GestureService.SetGestureListener(myImage, new GestureListener { 
    Tap = "image_Tap", 
    Hold = "image_Hold" 
}); 

Se quei Tap e Hold proprietà sono immagini, dovrete caricare una certa BitmapImage oggetti di programmazione, invece di stringhe .

+1

SetGestureListener non dovrebbe essere chiamato dal codice. Viene utilizzato quando il listener è dichiarato in XAML. GetGestureListener è il modo corretto, ne creerà uno nuovo se non esiste già. – Jermismo

12

SetGestureListener è stata sconsigliata, `s destra, invece è possibile utilizzare GetGestureListener come questo

var gl = GestureService.GetGestureListener(img); 
gl.DoubleTap += new EventHandler<GestureEventArgs>(GestureListenerDoubleTap);