WPF 만으로 프로그램을 짜는것도 좋지만,
실제로 쓰이는 프로그램을 만들려다보면,
기존에 작성된 Win32 기반의 프로그램들과의 관계를
무시할 수가 없습니다.
DataGrid 처럼 막강한 기능의 Windows Form 기반의 Control 을
다시 WPF 로 재작성 하고자 마음을 먹는다면,
먼저 침낭이 필요할 지도 모르겠습니다^^
이 글은 아래 문서를 참고하여, 작성되었습니다.
WPF 및 Win32 상호 운용성 개요
http://msdn.microsoft.com/ko-kr/library/ms742522.aspx
에어스페이스에 대한 개념 이해
http://msdn.microsoft.com/ko-kr/library/aa970688.aspx
상호 운용을 하는 프로그램을 구성하고자 한다면,
에어스페이스를 먼저 살펴 봐야 합니다.
위와 같이 하나의 프로그램내부에, 여러 가지의 기술을 혼합하여,
작성할 수 있습니다.
각각의 에어스페이스가 고유의 영역을 침범하지 않으면,
문제가 없지만,
각자의 에어스페이스에는 제약이 따르기 때문에
위와 같이, 서로의 영역을 침범하게 되면,
주의해서 프로그램을 작성해야 합니다.
제약조건
WPF 와 다른 기술을 상호운용하게 되면,
아래와 같은 제약 조건이 존재하므로, 주의 해야 합니다.
1. 상호운용으로 작성한 프로그램은 XBAP 으로 실행할 수 없음.
2. WPF 가 아닌 요소에 대해서, 레이어, 투명효과, 형태변환( 회전 등 ) 이 적용되지 않음.
WPF에 포함된 상호 운용을 위한 기술
WPF 상호운용을 위해서, 이미 4가지 상호운용 클래스가 구현되어 있습니다.
WPF 에서 HWND를 호스팅할 경우
Sample : http://msdn.microsoft.com/en-us/library/ms771352.aspx
WPF 에서 윈폼을 호스팅 할 경우
Sample : http://msdn.microsoft.com/en-us/library/ms771499.aspx참고 : ActiveX 의 경우는 WindowsFormsHost를 이용하여, 쉽게 넣을 수 있습니다.
HWND 에서 WPF 를 호스팅 할 경우
Sample : http://msdn.microsoft.com/en-us/library/ms771373.aspx
윈폼에서 WPF를 호스팅 할 경우
Sample : http://msdn.microsoft.com/en-us/library/ms771521.aspx
'프로그래밍' 카테고리의 다른 글
실버라이트를 이용한 동영상 서비스 구현 사례 (0) | 2009.08.30 |
---|---|
NET Framework 3.0 LINQ (0) | 2009.08.30 |
MS Access2007에서 DBCC 명령(인덱스 초기화) 하기... (3) | 2009.07.23 |
Void Pointer (0) | 2009.07.19 |
Valiable Arguments (0) | 2009.07.19 |
댓글