Как создать подвижную «свободно плавающую» панель, которая может свободно перемещаться по холсту и является частично прозрачной - PullRequest
0 голосов
/ 11 сентября 2011

Сценарий состоит в том, что я хочу, чтобы пользователь создал фигуру на маленькой открывающейся панели (добавленная фигура может быть позже помещена на холст), но для лучшего понимания я хочу, чтобы пользователь мог перемещатьПолупрозрачная панель где-нибудь на холсте, а затем нарисуйте с точной ссылкой.

Скажите, пожалуйста:

  1. Какой тип панели использовать

  2. Как заставить его двигаться, щелкнув мышью по кнопке перемещения (не вся панель, так как перетаскивание будет использоваться для рисования линий) и переместить ее.

  3. Какчтобы сделать его полупрозрачным.

  4. Как заставить его появляться и исчезать (это должно быть довольно просто)

  5. Как каким-то образом ограничить его движениевнутри холста, чтобы он не мог двигаться по ленте

И я действительно очень надеюсь, что в WPF будет что-то встроенное, что я смогу использовать, и у меня не будетсделать это трудным путем, то есть создать прямоугольник и настроитьТестирование по нажатию на него позволяет пользователю рисовать поверх этого прямоугольника, делать этот прямоугольник прозрачным и добавлять графические элементы для кнопок и элементов управления на этой «панели» прямоугольника.

Я спрашиваю об этом, потому что яЯ никогда не видел такой функции в любом приложении Windows, и я понятия не имею, что использовать для этой цели и как ее реализовать.Самая близкая вещь к тому, что я хочу, в Adobe Acrobat Pro, который является маленьким предварительным просмотром страницы, которая появляется, когда я дважды щелкаю средней кнопкой мыши.Он не движется, не прозрачен и не может быть нарисован, но в плане масштаба и формы я хочу что-то похожее.

1 Ответ

2 голосов
/ 11 сентября 2011

Вы должны иметь возможность поместить секунду Canvas внутри вашего основного холста и поместить любой элемент управления UserControl, который вы хотите, с вашим "представлением" внутри него.

Вам придется обрабатыватьщелкните мышью / перетащите, чтобы переместить его вокруг себя, но в остальном все должно быть очень просто.

...