我在 WinRT 中编写了一个 UserControl,我想让它用手指移动。
当我使用笔或鼠标移动它时,它仍然在移动,但当我使用手指时却没有。
当我使用手指时,PointerMoved 不会触发。
这是简单的xaml:
<UserControl>
<Rectangle PointerPressed="PointerPressed" PointerMoved="PointerMoved"/>
</UserControl>
这是代码:
private Point position;
void PointerPressed(object sender, Windows.UI.Xaml.Input.PointerRoutedEventArgs e)
{
Rectangle r = sender as Rectangle;
var pointerPoint = e.GetCurrentPoint(r);
position = pointerPoint.Position;
}
void PointerMoved(object sender, Windows.UI.Xaml.Input.PointerRoutedEventArgs e)
{
Rectangle r = sender as Rectangle;
var delta = e.GetCurrentPoint(r).Position;
r.Margin = new Thickness(r.Margin.Left + delta.X - position.X, r.Margin.Top + delta.Y - position.Y, 0, 0);
}
我在这里想念什么?
编辑:
我正在使用 Windows 8.1 和 VisualStudio 2013。
也许这是一个新功能^^