Ich bin neu bei WP7 und bin sicher, dass ich etwas Offensichtliches übersehe. In dem Code unten ich ein paar Rechtecke erstellen und dann umschalten thier Farbe, wenn berührt. Das Problem ist, dass, wenn ich zwei Rechtecke zur gleichen Zeit berühren nur eine bekommt ein Ereignis. Ich nehme an, dies ist, weil ich die Maus-Ereignis verwenden, aber ich sehe nicht, ein Touch-Ereignis zu Haken zu. Alle Hinweise in die richtige Richtung wäre sehr geschätzt.
Relevante XAML
<Grid x:Name="LayoutRoot" Background="Transparent">
<toolkit:WrapPanel x:Name="RectWrapPanel" Height="768" Width="480"/>
</Grid>
Code dahinter:
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;
}
}
}