GetPrimaryTouchPoint报ARGUMENTEXCEPTION错误解决方法

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。于是,我添加了上面方法中的第一句,便避免了问题。目前原因不得而知......
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值