【发布时间】:2016-02-09 01:30:30
【问题描述】:
我正在制作一个 Outlook 插件,并试图在 Outlook 的中心放置一个窗口。 为了实现这一点,我曾经做过以下事情:
Outlook.Application olApp;
...
dynamic activeWindow = olApp.ActiveWindow();
wpf_ui_control.Left = activeWindow.Left + (activeWindow.Width / 2) - (wpf_ui_control.Width / 2);
wpf_ui_control.Top = activeWindow.Top + (activeWindow.Height / 2) - (wpf_ui_control.Height / 2);
当然,这在 DPI 不是 100% 时证明是无用的。
我见过一些从不同控件获取 DPI 的示例,但没有一个来自 outlook.explorer \ outlook.Inspect(.ActiveWindow() 的结果)。
在这种情况下,我将如何获取 DPI 或计算中心?
谢谢
【问题讨论】:
-
我实际上取消了第一个答案,因为实际上还没有可见的控件,但是对于这种情况,还有另一种解决方案。去看看!
-
感谢@SimonMourier 这个解决方案确实帮助了我!
标签: .net wpf interop office-interop outlook-addin