Canvas不会获取指针事件

时间:2017-06-16 17:21:20

标签: c# canvas uwp uwp-xaml

我无法理解为什么我的画布没有获得指针事件。在我的代码下面和XAML布局的一部分:
XAML

<Canvas
    x:Name="cPad"
    Canvas.ZIndex="99"
    Grid.Column="0" 
    PointerPressed="Pad_PointerPressed">
    <Rectangle 
        x:Name="rPicker"
        Width="24" 
        Height="24" 
        Stroke="Black" 
        Fill="White" 
        StrokeThickness="3"/>
</Canvas>

C#

private void Pad_PointerPressed(object sender, PointerRoutedEventArgs e)
{
    cPad.CapturePointer(e.Pointer);
    var point = e.GetCurrentPoint(cPad).Position;
    Canvas.SetLeft(rPicker, point.X);
    Canvas.SetTop(rPicker, point.Y);
    e.Handled = true;
}

rPicker仅在我点击rPicker时才会移动的问题...但我需要Pad_PointerPressed执行画布上的任何一点。我该怎么做?

1 个答案:

答案 0 :(得分:1)

Canvas.Background属性设置为Transparent以启用PointerPressed个事件:

<Canvas
    ...
    Background="Transparent"
    >

    ...

</Canvas>