Windows Phone 7触控操作方案之一便是使用静态全局类Touch。但是,我在使用过程中,发现存在一个问题,描述如下。
我先运行一个PhoneApplicationPage,名叫MenuView。我在其中添加了一个按钮事件,代码如下:
void btnStartGame_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
NavigationService.Navigate(new Uri("/View/PushBox.xaml", UriKind.Relative));
}
即点击菜单界面中的一个按钮将导航到另一个PhoneApplicationPage页面PushBox.xaml。
在页面PushBox.xaml中,我想使用触控操作,于是有以下代码:
public partial class PushBox : PhoneApplicationPage
{
................................
public PushBox()
{
InitializeComponent();
Touch.FrameReported += new TouchFrameEventHandler(Touch_FrameReported);
}
我的想法是,想控制当玩家点击(因为我现在只能使用模拟器)屏幕上的一个位置即开始捕获。于是,有以下代码:
void Touch_FrameReported(object sender, TouchFrameEventArgs e)
{
if (sender == null) return;
if (e.GetPrimaryTouchPoint(this).Action == TouchAction.Down)
{
.........................
但是,在运行程序中,经常(不是每一次)出现当点击屏幕上的按钮时触发一个异常,大致内容如下:
"The parameter is incorrect.--ArgumentException was unhandled"
进一步分析发现,上面的sender参数为null。于是,我添加了上面方法中的第一句,便避免了问题。目前原因不得而知......
我先运行一个PhoneApplicationPage,名叫MenuView。我在其中添加了一个按钮事件,代码如下:
void btnStartGame_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
NavigationService.Navigate(new Uri("/View/PushBox.xaml", UriKind.Relative));
}
即点击菜单界面中的一个按钮将导航到另一个PhoneApplicationPage页面PushBox.xaml。
在页面PushBox.xaml中,我想使用触控操作,于是有以下代码:
public partial class PushBox : PhoneApplicationPage
{
................................
public PushBox()
{
InitializeComponent();
Touch.FrameReported += new TouchFrameEventHandler(Touch_FrameReported);
}
我的想法是,想控制当玩家点击(因为我现在只能使用模拟器)屏幕上的一个位置即开始捕获。于是,有以下代码:
void Touch_FrameReported(object sender, TouchFrameEventArgs e)
{
if (sender == null) return;
if (e.GetPrimaryTouchPoint(this).Action == TouchAction.Down)
{
.........................
但是,在运行程序中,经常(不是每一次)出现当点击屏幕上的按钮时触发一个异常,大致内容如下:
"The parameter is incorrect.--ArgumentException was unhandled"
进一步分析发现,上面的sender参数为null。于是,我添加了上面方法中的第一句,便避免了问题。目前原因不得而知......