앱에서 WPF를 사용하고 싶습니다. C++로 작성하고 싶습니다. 응용 프로그램을 관리해야합니까? 관리 형과 관리 형을 혼합 할 수 있다는 것을 알고 있습니다. 내가 전체 응용 프로그램을 관리되지 않도록 할 수 있는지 궁금하네요.WPF 응용 프로그램 관리 코드 만 있습니까?
답변
쉽게 관리되지 않는 코드에서 WPF 응용 프로그램의 99 %를 개발하지만 100 % 관리되지 않는 만드는 것은 매우 어렵다 수 있습니다.
WPF 클래스에는 Guid 특성이 없으므로 COM에서 작동하지 않습니다. 따라서 100 % 비 관리 코드가있는 Button 및 Window와 같은 WPF 객체를 생성하려면 관리되지 않는 CLR API 중 하나가 필요합니다. Hosting API은 아마도 가장 쉬운 방법 일 수 있지만 여전히 많은 작업이 필요합니다.
99 % 관리되지 않는 코드를 사용하려면/clr 옵션을 사용하여 응용 프로그램을 컴파일하고 IJW를 사용하여 WPF 개체를 인스턴스화하고 Application.LoadComponent와 같은 메서드를 호출하면됩니다.
또한 관리되지 않는 개체에 바인딩하는 WPF는 이러한 개체가 IDispatch를 포함한 COM을 완벽하게 지원해야합니다.
이미 알고 있듯이 interop를 통해 관리되는 버전과 관리되지 않는 버전을 함께 사용할 수 있습니다. 그러나 WPF는 CLR에서 실행됩니다. 당신은 그 길을가는 것을 선택한다, 여기 http://neilmosafi.blogspot.com/2008/07/unmanaged-version-of-wpf-coming.html
는 WPF/기본 상호 운용성에 대한 추가 참조입니다 : 여기
어떤 사람들은 미래의 관리되지 않는 버전에 대해 추측 웹에 대한 기사입니다첫 번째 링크의 추측은 MIL에 관한 것으로 밝혀진 PDC08 세션에 대한 설명을 기반으로합니다. 지난 2 년 동안 MIL을 공개 API로 만들 수있는 다른 추측이나 다른 추측을 듣지 못했습니다. MIL에는 저급 프리미티브 만 포함되므로 WPF가 아닐지라도 WPF가 아닙니다. –
고마워요, @ 레이. 그것은 좋은 정보입니다. – kbrimington
- 1. WPF 응용 프로그램 - 역할 관리 권장 사항
- 2. wpf 빙지도 응용 프로그램?
- 3. 네트워크 관리 응용 프로그램
- 4. 응용 프로그램 역할 관리
- 5. WPF/Surface 응용 프로그램 내에서 WPF/Surface 응용 프로그램 호스팅
- 6. WPF 응용 프로그램 동결
- 7. WPF 샘플 응용 프로그램
- 8. ASP에 WPF 응용 프로그램
- 9. 웹용 WPF 응용 프로그램
- 10. 응용 프로그램 내에서 데이터 관리
- 11. 구성 관리 응용 프로그램 블록
- 12. WPF 응용 프로그램 설정 파일
- 13. WPF 응용 프로그램 레이아웃
- 14. 응용 프로그램 속성 실행 관리
- 15. WPF 응용 프로그램 시작시 느림
- 16. 데이터베이스 WPF 응용 프로그램
- 17. WPF 응용 프로그램 스레드
- 18. Citrix의 WPF 응용 프로그램
- 19. WPF 응용 프로그램
- 20. WPF - 반투명 응용 프로그램
- 21. WPF 응용 프로그램 확장
- 22. 응용 프로그램 : didFinishLaunchingWithOptions : 메모리 관리
- 23. 창 관리 MDI 응용 프로그램
- 24. PHP 파일 관리 응용 프로그램
- 25. C# WPF 응용 프로그램 클래스
- 26. WPF 브라우저 응용 프로그램 디버깅
- 27. WPF 내장 데이터베이스 응용 프로그램
- 28. WPF - MVVM 화면 관리
- 29. GTKmm 응용 프로그램 코드 정리
- 30. 관리 코드
왜 비 관리 코드로 작성합니까? WPF는 .NET Framework를 기반으로하며 디자인에 의해 관리됩니다. 꼭 필요한 경우 interop에 관리되지 않는 코드를 호출 할 수 있습니다. – nukefusion