애플리케이션 내에서 WPF와 WinForms를 혼재시킬 수 있습니까?
WPF 및 Windows 폼컨트롤을 1개의 어플리케이션 내에서 사용할 수 있습니까?얼마나 어렵거나 실용적인 아이디어인가요?
WinForms 앱에서 WPF 컨트롤을 호스트하는 것은 매우 간단합니다.ElementHost
WPF 앱의 어댑터 또는 WinForms 컨트롤과WindowsFormsHost
어댑터.그러나 웹에는 이러한 작업을 수행하는 방법을 보여 주는 리소스가 많지 않습니다.스스로 이것을 하는 방법을 배우는 과정에서 나는 두 경로 사이의 고유한 대칭을 빠르게 발견했다.이 모든 노트를 독자적인 어프로치를 사용해 이러한 대칭을 비교 및 대조하는 기사로 정리했습니다.이 기사는 실제로는 하나의 테크놀로지로 사용자 컨트롤을 작성하는 것부터 반대 테크놀로지의 애플리케이션으로 호스팅하는 것까지 모든 단계를 상세하게 비교하는 두 개의 나란히 있는 기사입니다.2010년 8월에 SimpleTalk.com에 게재된 제 기사는, WPF와 WinForms의 혼재입니다.
완전성을 위해 각 경로에 대해1개씩 몇 가지 양호한 MSDN 참조를 다음에 나타냅니다.실제로 제 기사에 동봉된 데모 솔루션은 다음 두 가지에서 시작되었습니다.
WPF 앱에 삽입할 수 있는 Windows Forms Host 컨트롤이 있다고 생각합니다.이 컨트롤은 WinForms 코드로 상호 동작합니다.
기존 LOB WinForms 앱에서 상당히 복잡한 WPF 컨트롤을 호스팅했습니다.할 수 있지만, 문제가 있었습니다(어느 정도는 가파른 학습 곡선으로 인한 것이었음에 틀림없습니다).이는 주로 포커스 상실 이벤트가 예상대로 실행되지 않는 것과 키보드 탐색 문제와 관련이 있습니다.
또한 HWNDSource 및 HWNDHost 컨트롤을 사용하여 WinForms(또는 Win32, 실제) 앱에 WPF 컨트롤을 삽입할 수도 있습니다.
비 WPF 콘텐츠(Be it HTML, WinForms 또는 Win32 콘텐츠)를 호스팅할 때 Airspace 문제가 발생합니다.즉, WPF 컨텐츠와 호스트 컨텐츠를 완전하게 조합할 수 없습니다.애니메이션을 할 수도 없습니다.스크롤 뷰어에 관한 몇 가지 흥미로운 문제가 있습니다.자세한 내용은 이쪽에서 확인하실 수 있습니다.또한 수정도 가능합니다.
네, WPF 어플리케이션 내의 Windows Forms와 Windows Forms 내의 WPF 컨트롤 모두 가능합니다.www.novamind.com의 마인드 트레이닝 어플리케이션은 이 두 테크놀로지를 적절히 조합하고 있습니다.
언급URL : https://stackoverflow.com/questions/501303/can-wpf-and-winforms-be-mixed-within-an-application
'sourcecode' 카테고리의 다른 글
오류: Android_HOME이 설정되어 있지 않고 PATH에 "안드로이드" 명령이 없습니다.다음 조건 중 하나 이상을 충족해야 합니다. (0) | 2023.04.23 |
---|---|
bash: mkvirtualenv: 명령을 찾을 수 없습니다. (0) | 2023.04.23 |
콘텐츠 파일을 asp.net 프로젝트 파일에 자동으로 포함할 수 있는 방법이 있습니까? (0) | 2023.04.23 |
텍스트 또는 ntext 데이터 유형의 REPLACE (0) | 2023.04.23 |
SVN 저장소 백업 전략 (0) | 2023.04.23 |