XAML
<Canvas x:Name="cvsBurstImage" MouseLeftButtonDown="cvsBurstImage_MouseLeftButtonDown" Style="{StaticResource BurstCanvasStyle}">
<Viewbox x:Name="vbBurstImage" Style="{StaticResource ViewboxCanvasStyle}">
<Image x:Name="imgBurstImage" Source="../Assets/Images/default_burst_image.png" ImageFailed="imgBurstImage_ImageFailed"/>
</Viewbox>
</Canvas>
Я сталкиваюсь со странной проблемой, когда мне нужно нарисовать прямоугольники на холсте и сделать их изменяемыми, а также перемещаемыми (помещать их в любом месте холста).
Я достиг этого с помощью мышиных событий canvas;
- private void Canvas_MouseLeftButtonDown (отправитель объекта, MouseButtonEventArgs e) {}
- закрытый void Canvas_MouseMove (отправитель объекта, MouseEventArgs e) {}
- private void Canvas_MouseLeftButtonUp (отправитель объекта, MouseButtonEventArgs e) {}
Объяснение;На MouseLeftButtonDown я начинаю захватывать мышиные корниаты и продолжаю делать это с помощью перемещения мыши (с помощью этих кординатов увеличиваем и увеличиваем их ширину), на MouseLeftButtonUp я прекращаю слушать мышь и рисую эти кординаты в виде Rectangle на холсте и добавляю этот прямоугольник на холст как дочерний элемент.Я также добавляю 3 события мыши в этот прямоугольник;
- private void Rectangle_MouseLeftButtonUp (отправитель объекта, MouseButtonEventArgs e)
- закрытый void Rectangle_MouseMove (отправитель объекта, MouseEventArgs e)
- private void Rectangle_MouseLeftButtonDown (отправитель объекта, MouseButtonEventArgs e)
Эти события, которые я использую для идентификации данного прямоугольника (Rectangle_MouseLeftButtonDown) и перемещения этого прямоугольника к мыши, связывают (Rectangle_MouseMove) и прекращают прослушивание (Rectect_MouseMove) и прекращают прослушивание (Rectect_MouseMove).
Теперь я должен добавить функцию изменения размера в этом прямоугольнике.Я хочу добиться этого с помощью большого пальца, но я не могу этого достичь.
Может кто-нибудь, пожалуйста, помогите мне с этим.Заранее спасибо.