2016-04-13 23 views
1

私はElementHostコントロールでWPFユーザーコントロールをホストしているWinFormsアプリケーションを持っています。そのWPF UserControlから、私はWPFダイアログを表示する必要があります。私はWPFウィンドウを作成してShowDialog()を呼び出すことができましたが、私はメインのアプリケーションの背後に隠れるようにダイアログを得ることができました。このコンテキストでWPFダイアログの所有者を設定するにはどうすればよいですか?Winforms ElementHost WPF UserControlからWPFダイアログオーナーを設定する

EntryDialog entryDialog = new entryDialog(); 
bool? ret = entryDialog.ShowDialog(); 
if (ret.Value == true) 
{ 
} 

答えて

0

所有者のセットを取得するトリックは、基礎となるのWinFormsウィンドウにアクセスし、一緒にすべてを引っ張ってWPF WindowInteropHelperを使用することでした。

using System.Windows.Interop 

このXAMLは、タスクバーをすっきり

ShowInTaskbar="False" 
を削減:あなたはまた、必要HwndSourceについては

EntryDialog entryDialog = new entryDialog(); 
HwndSource source = (HwndSource)HwndSource.FromVisual(this); 
new System.Windows.Interop.WindowInteropHelper(entryDialog).Owner = source.Handle; 
bool? ret = entryDialog.ShowDialog(); 
if (ret.Value == true) 
{ 
} 

関連する問題