我可以在不使用winformshost的情况下在WPF上停靠Lync SDK会话吗?

本文关键字:Lync 停靠 SDK 会话 情况下 winformshost 我可以 WPF | 更新日期: 2023-09-27 18:08:18

我正在尝试构建一个以Lync SDK为基础的应用程序,根据MSDN上的文档,我需要停靠在winformshost上的对话窗口。

但这里的问题是,winformshost总是在最上面,不支持不透明度,有点难玩。这似乎不是最好的选择。

我很好奇是否有另一个控件,我可以使用?

对于对接Lync使用这几行代码基本上是WindowsFormsHost.Child.Invoke()进行对接,WindowsFormsHost.Child.Hide进行卸载;

delegate void DockConversationDelegate(string ConversationId);
myFormsHost.Child.Invoke(new DockConversationDelegate(DockTheConversation), 
      new object[] { _ConversationToDock });
public void WindowPanelHandle(string ConversationId, int PanelHandle)
{
   Microsoft.Lync.Model.Conversation.Conversation conversationToDock;
   if (myNewConversation.TryGetValue(ConversationId, out conversationToDock))
   {
       ConversationWindow cw = _automation.GetConversationWindow(conversationToDock);
       cw.Dock((IntPtr)PanelHandle);
    }
}

感谢每一个答案!谢谢…

我可以在不使用winformshost的情况下在WPF上停靠Lync SDK会话吗?

我认为这是不可能的,因为对话窗口是一个本机窗口,而不是WPF窗口。由于WPF使用本机窗口/控件的唯一方法是通过WindowsFormsHost,那么我很确定你被困住了。

我希望被证明是错的;)