Я работаю над надстройкой Outlook 2010, которая предоставляет диалог для ввода данных пользователем. Код, необходимый для отображения кнопки на ленте, находится в собственном проекте надстройки Outlook 2010. В этом проекте есть ссылка на библиотеку управления пользователями WPF, которая отвечает за большую часть работы.
Я использую статический метод в проекте библиотеки управления пользователями WPF, который отвечает за правильную настройку Caliburn.Micro и отображение диалогового окна. Все это работает, как и ожидалось, за исключением того, что я не могу понять, как правильно расположить диалог. Я хотел бы, чтобы он отображался по центру окна Outlook. Я знаю, что у меня есть доступ к Microsoft.Office.Interop.Outlook.Application.ActiveWindow()
, но я не понимаю, как это мне помогает, поскольку я не могу перевести его на PlacementTarget
, как ожидается в настройках для метода Caliburn.Micro WindowManager ShowDialog.
Библиотека управления пользователями WPF
namespace WpfUserControlLibrary {
public static class Connector {
public static void ShowDialog() {
new AppBootstrapper();
var windowManager = IoC.Get<IWindowManager>();
windowManager.ShowDialog( new ShellViewModel() );
}
}
}
Надстройка для Outlook 2010
WpfUserControlLibrary.Connector.ShowDialog();