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

Posted

技术标签:

【中文标题】我可以在不使用 winformshost 的情况下将 Lync SDK 对话停靠在 WPF 上吗?【英文标题】:Can I dock Lync SDK conversation on WPF without using winformshost? 【发布时间】:2011-09-13 04:02:25 【问题描述】:

我正在尝试构建一个以 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);
    

感谢每一个答案!谢谢...

【问题讨论】:

【参考方案1】:

我不相信这是可能的,因为对话窗口是本机窗口,而不是 WPF 窗口。由于 WPF 使用本机窗口/控件的唯一方法是通过 WindowsFormsHost,所以我很确定你会坚持下去。

我很想被证明是错的;)

【讨论】:

以上是关于我可以在不使用 winformshost 的情况下将 Lync SDK 对话停靠在 WPF 上吗?的主要内容,如果未能解决你的问题,请参考以下文章

我可以在不提供内容的情况下使用自动续订订阅吗?

我可以在不返回 html 文件的情况下使用 NodeJS 吗?

为啥我可以在不使用 std::getline 的情况下调用 getline?

我可以在不使用响应式的情况下解决此问题吗?

为啥我可以键入别名函数并在不强制转换的情况下使用它们?

我可以在不使用 useState 的情况下访问 useEffect 中的变量吗?