如何在图像视图顶部将WPF绘制矩形拖到画布上

时间:2017-03-08 03:47:01

标签: c# wpf canvas

我有可以在屏幕上拖动的图像。在这些图像上,我希望能够在每个图像上的预定义位置绘制矩形(想象拖动手柄,尽管它们不会以这种方式使用)。每当图像被拖到新的地方时,我希望这些矩形在图像上的相同位置绘制。这包括图像是否也旋转。

我尝试了很多不同的东西,却无法得到任何东西,所以我对描述其中任何一个都犹豫不决。这很容易用Winforms实现,但由于我无法访问Paint方法,似乎设置矩形坐标的唯一方法是Canvas.SetLeft(image,x),Canvas.SetTop(image,y)和这些矩形应该是图像的孩子,我发现这非常不直观。

我将如何做到这一点?

1 个答案:

答案 0 :(得分:2)

您必须使用Adorners。那里有很多很好的教程:

WPF: Thinking outside the box with the adorner

How to: Implement an Adorner