2017-01-03 1 views
0

В моих проектах VSTO (Office 2007/2010) я хотел бы использовать небольшой элемент управления всплывающим меню (думаю, подсказка, как функции, анимация затухания и взаимодействие с мышью).Что нужно реализовать для небольшого управления всплывающим меню в проекте VSTO?

Я бы предпочел использовать WPF. Если бы я сделал это в WPF, я бы создал пользовательский Popup Control.

В VSTO, насколько я понимаю, я должен использовать окно WPF, а затем иметь два варианта: либо я помещаю это окно в контейнер форм Windows, либо получаю Hwnd своего офисного приложения, и я добавляю этот Hwnd для свойства Owner окна WPF. Я исправлю здесь?

Создание всего окна, анимация его на экране и т. Д., Чтобы выглядеть как всплывающая подсказка, кажется, излишняя.

Так что мой вопрос: как я должен это делать. Я бы предпочел WPF.

Я не знаю, будет ли это работать, но прежде всего я хочу создать очень маленькое окно WPF, которое будет прозрачным и запустить его с помощью приложения Office. Затем я могу создать Popup Control (который является дочерним элементом этого маленького окна), который я показываю и не показываю в позиции мыши. Довольно точно всплывающее окно может появляться за пределами его родительского окна.

ответ

0

Просто хотел убрать свой вопрос с тем, что я сделал. В проекте добавления VSTO я добавил ссылку на WindowsBase, PresentationFramework и ядро ​​представления.

И затем я просто следую любому учебнику или примеру, который добавляет всплывающее окно WPF. По всплывающему окну я имею в виду System.Windows.Controls.Primitives.Popup. Для Placement я использовал PlacementMode.Absolute, а затем использовал точку окна, чтобы установить его положение.

Это в значительной степени отвечает на мой вопрос. Конечно, это всплывающее окно буквально плавает над вашим окном офиса, поэтому вам нужно будет убедиться, что вы его контролируете, например, если окно офиса перемещается, сведено к минимуму и тому подобное.

Смежные вопросы