2011-09-10 82 views
0

该场景是我希望用户在打开的小面板中创建一个形状(添加的形状可以稍后放置画布),但为了更好的参考,我希望用户能够将半透明面板移动到画布上的某个位置,然后用精确的参考进行绘制。如何创建可在画布上自由移动且部分透明的可移动“自由浮动”面板

请告诉我:

  1. 哪个面板类型使用

  2. 如何使它通过点击移动按钮(而不是整个面板拖动鼠标移动将用于绘图线)并移动它。

  3. 如何使其半透明。

  4. 如何使它出现和消失(这应该是很简单)

  5. 如何以某种方式限制其在画布内运动,因此它不能在功能区移动

我真的真的希望WPF中会内置一些我可以使用的东西,而且我不需要这么做,也就是创建一个矩形,并对其进行自定义命中测试,以允许用户绘制矩形顶部,使矩形透明,并为该矩形“面板”上的按钮和控件添加图形项目。

我在问这是因为我从来没有在任何Windows应用程序中看到过这样的功能,我不知道该如何使用这个功能以及如何实现它。最接近我想要的是在Adobe Acrobat Pro中,这是当我用鼠标中键双击时出现的页面的小预览。它不移动,也不透明或可以被绘制,但是我想要类似的尺寸和形状。

回答

2

你应该可以在你的主画布中放置第二个Canvas,并在你的“视图”内放置任何你想要的用户控件。

你必须处理鼠标点击/拖动以移动它自己,否则,它应该是非常简单的。

+0

你已经回答了我的大部分问题,我没有想到它会这么简单,但还有一件事。我可以通过点击画布中的任何位置来处理整个画布的移动,但是有没有一种方法可以单击画布内的按钮并拖动,然后才会移动? – SpeedBirdNine

+2

如果要移动它们,您必须分别处理每个按钮/控件上的单击+拖动。您可能想要在任何UI元素上为您执行此操作。请参阅:http://www.codeproject.com/KB/WPF/AttachedBehaviors.aspx –