문제

WPF에서 새로운 비트를 설계하고있는 기존 Winforms 응용 프로그램이 있습니다. 상황이 합리적으로 잘 진행되고 있으며 대화가 처음 필요합니다.

WPF에서 대화를하고 싶습니다. 실제 컨텐츠에 대해 USERCONTROL을 수행 한 다음 ElementHost와 함께 WinForms 양식을 통해 해당 컨텐츠를 호스팅 해야하는 것처럼 보입니다 (usercontrol에는 showdialog () 메소드가 없기 때문에).

그리고 그것이 내 질문이있는 곳입니다. 그게 어떻게 작동합니까? WPF USERCONTROL에는 DialOgresult 속성이 없습니다 (ShowDialog () 메소드가 없다는 점에서 의미가 있습니다). WPF 창 컨트롤이 필요하다고 생각합니다. 이 경우 사용할 수 있다고 생각합니다.

기본적인 흐름과 사물 설정으로 어려움을 겪고 있습니다. 누군가가 빛을 비출 수 있습니까?

이것이 가능합니까?

도움이 되었습니까?

해결책

WinForms 응용 프로그램에서 WPF 창을 열 수 있습니다.

창을 만들고 전화하십시오 ShowDialog(). CLR은 WPF 프레임 워크를로드하고 창을 엽니 다.

다른 팁

Interop 응용 프로그램이 작동하도록하려면 주로 Winforms 앱처럼, 당신이 설명하는 접근 방식은 잘 작동합니다. 나는 Interop 케이스에서 거의 똑같습니다.

WPF는 MessageBox를 지원하며 (WinForms와 약간 다른 버전이지만) WPF Windows (Dialogresult와 유사한 것을 추가하여 확장)를 사용하여 무언가를 구성 할 수 있습니다. 그러나 제공된 WPF 컨트롤은 UX 상호 작용을 변경하여 대화, 특히 모달 대화를 최소화하려고한다고 제안합니다.

그러나 당신의 삶을 더 쉽게 만들기 위해, 나는 WPF 컨텐츠를 호스팅하는 것을 처리하기 위해 특별히 WinForms 양식/ElementHost 서브 클래스를 만들고, ""사용 "선언을 좋아하는지에 따라 자신의 대화식과 같은 열거를 마무리하십시오. WPF 코드를 더 성가시킬 수있는 System.windows.forms 네임 스페이스를 포함해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top