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

C# “如何创建可移动的”;“自由浮动”;可在画布上自由移动且部分透明的面板,c#,.net,wpf,wpf-controls,custom-controls,C#,.net,Wpf,Wpf Controls,Custom Controls,场景是,我希望用户在打开的小面板中创建一个形状(添加的形状可以稍后放置在画布上),但为了更好地参考,我希望用户能够将半透明面板移动到画布上的某个位置,然后使用准确的参考进行绘制 请告诉我: 要使用哪种面板类型 如何通过在移动按钮上单击鼠标使其移动(不是整个面板,因为拖动将用于绘制线)并将其四处移动 如何使其半透明 如何使它出现和消失(这应该很简单) 如何以某种方式限制其在画布内的移动,使其无法在功能区上移动 我真的很希望WPF中会有一些内置的东西,我可以使用,而且我不必费劲地去做,比如创建一个矩

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

请告诉我:

  • 要使用哪种面板类型

  • 如何通过在移动按钮上单击鼠标使其移动(不是整个面板,因为拖动将用于绘制线)并将其四处移动

  • 如何使其半透明

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

  • 如何以某种方式限制其在画布内的移动,使其无法在功能区上移动

  • 我真的很希望WPF中会有一些内置的东西,我可以使用,而且我不必费劲地去做,比如创建一个矩形,然后在它上面做定制的命中测试,让用户可以在这个矩形上画图,让这个矩形透明,并为矩形“面板”上的按钮和控件添加图形项


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

    您应该能够在主画布中放置第二个
    画布,并在其中放置任何您希望的带有“视图”的用户控件


    您必须处理鼠标点击/拖动来移动它,否则,它应该非常简单。

    您已经回答了我的大部分问题,我没想到会这么简单,但还有一件事。我可以通过单击画布中的任意位置来处理整个画布的移动,但是有没有一种方法可以让我单击画布中的某个按钮并拖动,然后它才会移动?如果你想移动它们,你必须单独处理每个按钮/控件上的单击+拖动。您可能希望在任何UIelement上执行这样的行为。见: