2016-11-11 10 views
0

내 이름은 Max입니다. 나는 현재 캘리 버 마이크로 (caliburn micro)와 함께 프로젝트를 진행 중이다. MEF의 도움으로 C#에서 플러그인 기반 응용 프로그램을 만들려고합니다.Caliburn 마이크로 Winforms MEF 구현

저는 WPF를 사용하고 있습니다. 그래서 나는 최소한으로 내 신청서를 벗겼다. caliburn 바인딩은 테스트 WPF 응용 프로그램에서 올바르게 작동합니다. 내가 지금 가지고있는 문제는 ShellView (WPF UserControl)가 WinForm 타사 응용 프로그램의 ElementHost에 있어야한다는 것입니다.

올바른 바인딩을 만드는 방법을 알 수 없습니다. 그래서 caliburn의 "마법"은 winform 응용 프로그램에서도 작동합니다. 어쩌면 당신 중 하나가 나를 도울 수 있습니다. 나는 이것을 하루 종일 봤고 시도했다.

귀하의 도움은 매우 감사하겠습니다. 형상 GitHub의에 제공 한 https://www.dropbox.com/s/y88kgnh0wscy2jr/CaliburnMEF_Example.zip?dl=0

+0

게시물에 포함 된 코드와 오류 메시지를 함께 적어주십시오. 그리고 문제를 강조하는 최소한의 재현 가능한 예를 제공하십시오. – sanastasiadis

+0

안녕하십니까? @anastasiadis 님의 회신에 감사드립니다. 프로젝트가 첨부됩니다 (Dropbox 링크). 오류가 발생하지 않습니다. 내 viewmodels 그냥 내 테스트 TabControl에 표시되지 않습니다. Wpf 응용 프로그램에서 모든 것이 좋습니다. –

+0

코드의 중요한 부분을 복사하여 붙여 넣으면 질문에 대한 답이 더 많을 것입니다. 다운로드 링크는 보충 참조로 보관하십시오. – sanastasiadis

답변

1

샘플의이 오랜만 ..., https://github.com/Caliburn-Micro/Caliburn.Micro/tree/master/samples/Caliburn.Micro.WinFormsInterop/Caliburn.Micro.WinFormsInterop

--edit-- 당신은 가까운이 비교되었다 : 맥스에게 프로젝트에

링크를 접견 코드 스 니펫을 현재 ​​테스트 프로젝트에 추가하십시오. 몇 가지 핵심 항목이 누락되었습니다. 참조 설명

ElementHost 컨트롤과 함께 작동 시키려면 몇 가지 추가 단계가 있습니다. 바인딩에 관해서는 예상대로 작동해야합니다. 다른 컨트롤 (제 3 자)을 바인딩하는 데 문제가있는 경우 해당 컨트롤을 지원하기 위해 컨벤션을 만들어야 할 수 있습니다. 그것은 컨트롤 자체에 매우 의존합니다.

+0

프로젝트를 기반으로하는 솔루션을 약간 수정하면됩니다. SelectedAssemblies에서 MonoMax dll 위치가 중복 확인됩니다. https://1drv.ms/u/s!Av7IfcJRK0fJxKozhsVP2s4hDOq-LQ – mvermef