首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ManipulationStarted激活回调方法失败

ManipulationStarted激活回调方法失败
EN

Stack Overflow用户
提问于 2013-01-10 11:00:20
回答 1查看 480关注 0票数 1

我有一个带有.NET-4.5的WPF画布。

我添加了事件(为其自动创建方法) MouseLeftButtonDownMouseDown。使用MessageBox,我已经确认当用户在画布上单击时会调用这些方法,但我找不到从MouseButtonEventArgs获取鼠标位置的方法。

当我为ManipulationStartedManipulationStarting添加事件(以及自动创建的方法)时,这些MessageBoxes不会出现。

代码语言:javascript
复制
private void CenterCanvas_ManipulationStarted(object sender, ManipulationStartedEventArgs e)
{
        MessageBox.Show("Doesn't show up");   // never shows up
}

private void CenterCanvas_MouseDown(object sender, MouseButtonEventArgs e)
{
        MessageBox.Show("Shows up");   // shows up, but can't seem to get click position
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-10 16:11:44

为了从MouseEventArgs获取鼠标位置,您必须调用GetPosition方法。

代码语言:javascript
复制
private void Canvas_MouseDown(object sender, MouseButtonEventArgs e)
{
    var pos = e.GetPosition((IInputElement)sender);

    System.Diagnostics.Trace.TraceInformation("MouseDown at {0}", pos);
}

要获取操作事件,需要将IsManipulationEnabled设置为true。您可能想看看MSDN Input Overview中的Touch and Manipulation部分。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14250165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档