Tôi muốn sử dụng các cửa sổ WPF trong ứng dụng win32 cũ. Tôi muốn xử lý chúng theo cách tương tự, như cửa sổ WPF luôn được hiển thị trên đầu cửa sổ win32.Cách đặt cửa sổ Win32 làm chủ sở hữu cửa sổ WPF?
Vì điều này tôi muốn đặt chủ sở hữu của cửa sổ WPF thành cửa sổ win32, nhưng tôi không biết làm thế nào để đạt được điều này.
Mọi trợ giúp tại đây?
Kể từ khi câu trả lời là ẩn đằng sau một số liên kết, đây mã mà đã làm các trick:
System::Windows::Interop::WindowInteropHelper^ helper = gcnew System::Windows::Interop::WindowInteropHelper(myWpfChildWindow);
helper->Owner = (System::IntPtr)myMainWindowHWND;
Vâng, bài viết thứ 2 đã thực hiện thủ thuật, để viết tắt các dòng sau: Hệ thống :: Windows :: Interop :: WindowInteropHelper^helper = gcnew Hệ thống :: Windows :: Interop :: WindowInteropHelper (myWpfChildWindow); helper-> Owner = (Hệ thống :: IntPtr) myMainWindowHWND; – Sam
Vui vì bạn đã làm việc đó! –
Điều này hoạt động trên .NET 4 nhưng không .NET 3.5. Trên .NET 3.5, việc thay đổi thuộc tính Owner của WindowInteropHelper không có hiệu lực. Có ai biết tại sao, và một workaround? –