레거시 win32 응용 프로그램에서 WPF 창을 사용하고 싶습니다. WPF 창이 항상 win32 창의 맨 위에 표시되는 것과 비슷한 방식으로이를 동작시키고 싶습니다.Win32 창을 WPF 창의 소유자로 설정하는 방법은 무엇입니까?
이 경우 WPF 창의 소유자를 win32 창으로 설정하고 싶습니다. 그러나이를 수행하는 방법을 알지 못합니다.
여기에 어떤 도움이 필요합니까?
대답은 여기에 몇 가지 링크 뒤에 트릭했던 코드가 숨겨져 있기 때문에 :
System::Windows::Interop::WindowInteropHelper^ helper = gcnew System::Windows::Interop::WindowInteropHelper(myWpfChildWindow);
helper->Owner = (System::IntPtr)myMainWindowHWND;
예, 두 번째 기사에서는 다음 줄을 간략하게 설명했습니다. System :: Windows :: Interop :: WindowInteropHelper^helper = gcnew System :: Windows :: Interop :: WindowInteropHelper (myWpfChildWindow); helper-> Owner = (System :: IntPtr) myMainWindowHWND; – Sam
다행 이군! –
이것은 .NET 4에서는 작동하지만 .NET 3.5에서는 작동하지 않습니다. .NET 3.5에서는 WindowInteropHelper의 Owner 속성을 변경해도 아무런 효과가 없습니다. 아무도 이유와 해결 방법을 알고 있습니까? –