프로그래밍 노트

WPF Window에서 IWin32Window 얻기 본문

C#/기타

WPF Window에서 IWin32Window 얻기

떡잎 2014. 5. 27. 14:45



WPF Window에서 IWin32Window가 필요할 때가 있다.

WPR와 Window Form을 같이 사용할 때, WPF로 만든 Windows위에 Window Form을 표시하기 위해서는 WPF Window의 IWin32Window를 얻어야 된다.

그것을 얻기 위해서는 아래와 같이 Wrapping을 해서 사용할 수 있다.


        public class Wpf32Win : System.Windows.Forms.IWin32Window
        {
            public IntPtr 
Handle{ get; private set; }
            public Wpf32Win(Window wpfWin)
            {
                
Handle= new WindowInteropHelper(wpfWin).Handle;
            }
        }


위와 같이 정의하여 WPF window에서 아래와 같이 사용한다.

myDlg.ShowDialog( new Wpf32Win(this) );


Comments