如何创建可移动的“自由浮动”面板,可以在画布上自由移动并且部分透明

时间:2011-09-10 22:26:34

标签: c# .net wpf wpf-controls custom-controls

场景是我希望用户在打开的小面板中创建一个形状(添加的形状可以稍后放在画布上),但为了更好的参考,我希望用户能够移动在画布上某处的半透明面板,然后用准确的参考绘制。

请告诉我:

  1. 使用哪种面板类型

  2. 如何通过在移动按钮上单击鼠标来移动(不是整个面板,因为拖动将用于绘制线条)并移动它。

  3. 如何使其半透明。

  4. 如何使其显示和消失(这应该非常简单)

  5. 如何以某种方式限制其在画布内的移动,使其无法在色带上移动

  6. 而且我真的希望WPF中内置一些我能够使用的内容,而且我不会那么努力,即创建一个矩形,并对其进行自定义命中测试允许用户在该矩形的顶部绘制,使该矩形透明,并为该矩形“面板”上的按钮和控件添加图形项。

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

1 个答案:

答案 0 :(得分:2)

您应该能够在主画布内放置第二个Canvas,并将您想要的任何UserControl放入其中的“视图”。

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