2011-01-08 1 views
2

Ich bin neu in WP7 und ich bin sicher, ich vermisse etwas offensichtlich. In dem unten stehenden Code erstelle ich eine Reihe von Rechteck und schalte dann bei Berührung diese Farbe um. Das Problem ist, dass wenn ich zwei Rechtecke gleichzeitig berühre, nur einer ein Ereignis bekommt. Ich nehme an, das liegt daran, dass ich das Mausereignis verwende, aber ich sehe kein Berührungsereignis, zu dem ich mich anmelden könnte. Alle Hinweise in die richtige Richtung würden sehr geschätzt werden.Wie erkenne ich gleichzeitige Berührungen auf UI-Elementen in Windows Phone 7

Relevante XAML

 <Grid x:Name="LayoutRoot" Background="Transparent"> 
     <toolkit:WrapPanel x:Name="RectWrapPanel" Height="768" Width="480"/> 
    </Grid> 

-Code hinter:

namespace colortouch 
{ 
    public partial class MainPage : PhoneApplicationPage 
    { 
     SolidColorBrush blueBrush = new SolidColorBrush() { Color = Colors.Blue }; 
     SolidColorBrush redBrush = new SolidColorBrush() { Color = Colors.Red }; 
     SolidColorBrush blackBrush = new SolidColorBrush() { Color = Colors.Black }; 

     // Constructor 
     public MainPage() 
     { 
      InitializeComponent(); 

      for (int i = 0; i < 126; i++) 
      { 
       Rectangle rect = new Rectangle(); 
       rect.Height = 50; 
       rect.Width = 50; 

       rect.Stroke = blackBrush; 
       rect.Fill = blueBrush; 

       //rect.MouseLeftButtonDown += new MouseButtonEventHandler(rect_MouseLeftButtonDown); 
       rect.MouseEnter += new MouseEventHandler(rect_MouseEnter); 
       Button b = new Button(); 

       RectWrapPanel.Children.Add(rect); 
      } 
     } 

     void rect_MouseEnter(object sender, MouseEventArgs e) 
     { 
      Rectangle rect = sender as Rectangle; 

      if (rect.Fill == blueBrush) 
       rect.Fill = redBrush; 
      else 
       rect.Fill = blueBrush; 
     } 
    } 
} 

Antwort