我无法理解为什么我的画布没有获得指针事件。在我的代码下面和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
执行画布上的任何一点。我该怎么做?
答案 0 :(得分:1)
将Canvas.Background
属性设置为Transparent
以启用PointerPressed
个事件:
<Canvas
...
Background="Transparent"
>
...
</Canvas>