2011-01-08 2 views
2

Я новичок в WP7, и я уверен, что мне не хватает чего-то очевидного. В приведенном ниже коде я создаю кучу прямоугольника и затем переключаю его цвет при касании. Беда в том, что, когда я касаюсь двух прямоугольников, в то же время только один получает событие. Я предполагаю, что это связано с тем, что я использую событие мыши, но я не вижу касания, чтобы подключиться. Любые указатели в правильном направлении были бы весьма полезны.Как обнаружить одновременные касания элементов пользовательского интерфейса в Windows Phone 7

Соответствующие XAML

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

код позади:

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; 
     } 
    } 
} 

ответ