有人问我有一天如何检测如果用户触摸屏幕的某些部分。我为他们创造了一些示例代码,但最后变成了一个有趣的复活节彩蛋。它存在于字母“M”的位置,通过比较用户当前触摸点的X和Y轴。这个应用程序将检测如果您的用户接触到如下所示的字母M就会启动复活节彩蛋。
很简单,在 MainPage.xaml 增加如下 XAML 代码:
<!--ContentPanel - place additional content here--> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <TextBlock x:Name="txtName" FontSize="56" Foreground="Red" /> </Grid>
我添加了一个 TextBlock 用来显示当前的 X 和 Y 轴的值,它同时也将显示用户开始触摸设备和结束触摸。
// Constructor public MainPage() { InitializeComponent(); Touch.FrameReported += new TouchFrameEventHandler(Touch_FrameReported); } void Touch_FrameReported(object sender, TouchFrameEventArgs e) { TouchPoint mainTouchPoint = e.GetPrimaryTouchPoint(ContentPanel); Point position = mainTouchPoint.Position; switch (mainTouchPoint.Action) { case TouchAction.Move: txtName.Text = String.Format("x: {0} , y: {1}",position.X, position.Y); if (position.X == 20 && position.Y == -132) MessageBox.Show("Secret Hit"); break; case TouchAction.Up: txtName.Text = "Touch Ended"; break; case TouchAction.Down: txtName.Text = "Touch Started"; break; } }
这个代码相当简单,只是为 Touch.FrameReported 添加了一个事件处理器。然后调用 GetPrimaryTouchPoint 并传递 ContentPanel (你也可以传递任何的UI元素)。这样我们就有了主触摸点,并在用户触摸屏幕时获取坐标。
我运行该程序,然后移动光标到要触发复活节彩蛋的位置,然后我就可以在 if...then... 语句里编写处理逻辑。
你可以从这里下载完整的示例程序。
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务