如何检测Windows Phone 7中UI元素的同时触摸

时间:2011-01-08 16:32:08

标签: silverlight windows-phone-7 multi-touch

我是WP7的新手,我确信我错过了一些明显的东西。在下面的代码中,我创建了一堆矩形,然后在触摸时切换它们的颜色。麻烦的是,当我同时触摸两个矩形时,只有一个得到一个事件。我认为这是因为我正在使用鼠标事件,但我没有看到要连接的触摸事件。任何指向正确方向的人都会非常感激。

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

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

您也可以根据自己的要求考虑触控面板和手势。

Working with Touch Input (Windows Phone)

WP7 Tip of the Day: Silverlight Toolkit: Gestures