상세 컨텐츠

본문 제목

WPF에서 WinForm 부르기 ( winform in wpf ) - 자주쓰는 코딩

자주 사용하는 코딩 문법/c#, winform, wpf

by 신성한거북이 2019. 11. 28. 09:32

본문

# WPF에서 WinForm 부르기 

   - How to call WinForm in WPF.

 

 

- WPF 프로젝트 생성후에, WinForm으로 된 dialog를 쓰고 싶었다.

검색하니 아래처럼...

 

 

FormHistory frm = new FormHistory();  //FormHistory <- 얘가 당연히 winform
frm.ShowDialog(new WpfWindowWrapper(this));   //WpfWindowWrapper <- 얘는 아래 따로 class 정의

 

//...

 

 public class WpfWindowWrapper : System.Windows.Forms.IWin32Window
    {
        public WpfWindowWrapper(System.Windows.Window wpfWindow)
        {
            Handle = new System.Windows.Interop.WindowInteropHelper(wpfWindow).Handle;
        }

        public IntPtr Handle { get; private set; }
    }

 

 

- 다만 이렇게 되면 MessageBox를 사용할때 어느 소속인지 모호하다는 에러가 뜬다. 

이렇게 쓴다. (자동으로 거의 찾아준다)

   System.Windows.MessageBox.Show("Rebuild DataGridView");

관련글 더보기