Outlook Add in 开发知识点
从过年到现在一直都在做outlook addin 方面的开发。在这个过程中遇到的各种各样的问题,都将记录到这里。以便自己继续开发。
首先使用wpf window作为我这个addin 的窗体部分。这样我就遇到了一个问题,我需要给我的wpf窗体定义一个父窗体也就是将outlook 窗体作为父窗体;我的思路是能不能get到outlook 这个窗体的实体,然后通过owner项轻松实质为父窗体;
我找了好久终于让我找到了一个很简单的方法;
代码就几句:
//这个里引用window api中的FindWindow,我写在另一个类WindowsHelper里面方便代码管理
IntPtr parent = Helper.WindowsHelper.FindWindow(null, "父窗体的标题");
//这里引用System.Windows.Interop
var child = new WindowInteropHelper(mainPage);
child.Owner = parent;
这个方法同时适用于Show()和ShowDialog()设置owner;
其实网上我还找到了其他方法但是却无法使用,具体原因不知
在找到父窗口句柄之后调用方法:Window parentWindow=HwndSource.FromHwnd("父窗口句柄").RootVisual as Window;
会报错,原因是HwndSource.FromHwnd("父窗口句柄") 这个结果是空值。
浙公网安备 33010602011771号