【问题标题】:Canvas doesn't get pointer events画布没有得到指针事件
【发布时间】:2017-06-16 17:21:19
【问题描述】:

我不明白为什么我的画布没有获得指针事件。下面是我的代码和 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 对画布上的任何点执行。我怎样才能做到?

【问题讨论】:

    标签: c# canvas uwp uwp-xaml


    【解决方案1】:

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

    <Canvas
        ...
        Background="Transparent"
        >
    
        ...
    
    </Canvas>
    

    【讨论】:

    • 非常感谢!我试试
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-04
    • 1970-01-01
    • 2013-10-31
    相关资源
    最近更新 更多