2011-09-13 7 views
1

MSDNのドキュメントによれば、Lync SDKをベースにアプリケーションを構築しようとしていますが、winformshostで会話ウィンドウをドッキングする必要があります。winformshostを使用せずにWPFでLync SDKの会話をドッキングできますか?

しかし、ここでの問題は、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経由であるため、あなたはそれに固執していると確信しています。

私は間違っていることを証明したいと思っています;)

関連する問題