У меня есть холст внутри ScrollViewer.Нарисуйте прямоугольник в холсте, который находится в ScrollViewer с помощью мыши и нажмите
<ScrollViewer x:Name="svWorkSpace" Visibility="Collapsed" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"
Tapped="svWorkSpace_Tapped"
PointerPressed="svWorkSpace_PointerPressed"
PointerMoved="svWorkSpace_PointerMoved"
PointerReleased="svWorkSpace_PointerReleased">
<Grid>
<Image x:Name="cvWorkImage"/>
<Canvas x:Name="cvWorkSpace"/>
</Grid>
</ScrollViewer>
В PointerPressed кода, я захватить начальную точку и в PointerMoved кода, я рисую прямоугольник как указатель перемещается (также удалить задний прямоугольнику я двигаться, сохраняя только один прямоугольник холста. Я получаю эффект прямоугольной проклейки, используя этот метод). PointerReleased примет последний прямоугольник.
Все работает нормально, используя устройство с сенсорным экраном, но не используя палец. Изображение просто прокручивается, когда я двигаю пальцем.
Пробовал переместить код в холст, как показано ниже. Не удалось нарисовать прямоугольник с помощью мыши и касания.
<ScrollViewer x:Name="svWorkSpace" Visibility="Collapsed" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
<Grid>
<Image x:Name="cvWorkImage"/>
<Canvas x:Name="cvWorkSpace"
Tapped="svWorkSpace_Tapped"
PointerPressed="svWorkSpace_PointerPressed"
PointerMoved="svWorkSpace_PointerMoved"
PointerReleased="svWorkSpace_PointerReleased"/>
</Grid>
</ScrollViewer>
Укажите меня в правильном направлении pls.