MEF/Prism 및 Silverlight를 처음 사용하고 모듈을 ItemsControl에 동적으로로드하는 방법을 잘 모르겠습니다. 기본적으로 동적으로로드 된 모듈을 같은 region 컨테이너로 스왑 할 수 있기를 원합니다. MEF/PRISM을 사용하여 어떻게해야합니까?MEF/PRISM Silverlight
답변
유형 ItemsControl
이어야합니다 몇 가지 컨트롤을 호스팅하기위한 지역 :
<ItemsControl
x:Name="MainToolbar"
cal:RegionManager.RegionName="{x:Static inf:RegionNames.MainToolBarRegion}">
</ItemsControl>
뷰를 추가하고 코드를 제거 할 수 있습니다 : 당신은 또한 코드 뷰를 추가 할 수 있습니다이 코드를 사용하여
//add view if not already present
IRegion region = this._regionManager.Regions["RegionName"];
object view = region.GetView("ViewName");
if (view == null)
{
var view = _container.ResolveSessionRelatedView<IMyView>();
region.Add(view, "ViewName");
}
//remove
IRegion region = this._regionManager.Regions["RegionName"];
object view = region.GetView("ViewName");
if (view != null)
{
region.Remove(view);
}
프리즘 (Prism) 내장 네비게이션 기능을 사용합니다.
프리즘의 QuickStart 프로젝트는 사용자가 요청한 것 이상으로 효과적입니다. Using Prism for navigation in Wpf application
보기 사출 퀵 스타트가 너무 너무 도움이 될 수있는 ListView 선택한 항목의 변화에 대한보기를 설정 않습니다 그것은이 스레드에서 봐 가지고, 또한 :
Modularity QuickStart를 불렀다.
이 예에서는 MEF 모듈을 다른 컨트롤에로드합니다. 1 개의 컨트롤에 많은 모듈을로드하고 싶었습니다. 예를 들어 많은 항목이있는 메뉴 컨트롤을 가지고 있고 메뉴 항목 중 하나를 클릭하면 특정 모듈을 셸의 공유 영역으로로드합니다. 그게 가능하니? – Pawan
네, 가능하다고 생각합니다. 사실 내 응용 프로그램에서 다음주에 구현할 계획입니다. 컨테이너 (이름있는 인스턴스)에 모든 하위 창을 등록한 다음 MenuItem.Clicked 이벤트에서 특정 지역의 모든 컨트롤을 제거하고 올바른 위치에 삽입 할 수 있다고 생각합니다. BTW, 나는 Composite Application Guidance (Visual Studio 2008의 프리즘 이전 버전) – surfen
- 1. Silverlight : Silverlight-Application에서 MouseOver
- 2. Silverlight 2와 Silverlight 3의 차이점
- 3. Silverlight 3에서 Silverlight 4로 이동
- 4. Silverlight : Silverlight 컨트롤에서 이미지 만들기
- 5. Silverlight 2 : Silverlight 2의 XamlParseException
- 6. Silverlight 3에서 Silverlight Datagrid 성능 Mac에서 Silverlight 4 vs
- 7. Silverlight 배포시 Silverlight WCF 서비스가 작동하지 않습니다.
- 8. Silverlight : 다른 Silverlight .xap 파일을로드하고 실행하는 방법
- 9. Silverlight 3 및 Silverlight 4 공존
- 10. Silverlight 2.0에서 Silverlight 3.0으로 이미지 바인딩
- 11. Silverlight 3 MVC vs. Silverlight 질문을 변경합니까?
- 12. SilverLight Datagrid
- 13. Silverlight IninParams
- 14. Silverlight 동기화
- 15. FolderBrowseDialog Silverlight
- 16. ZIndex와 silverlight
- 17. Silverlight InitializeComponent
- 18. Silverlight 갤러리
- 19. Silverlight HtmlPage.Window.Navigate
- 20. Silverlight Webcam
- 21. Silverlight 및보고
- 22. Silverlight 이해
- 23. Silverlight Async
- 24. Silverlight UserControl
- 25. Silverlight - VisualStateManager
- 26. Silverlight 배포
- 27. Silverlight 안정성
- 28. Silverlight MarkupExtension
- 29. Silverlight/C#
- 30. Silverlight SaveFileDialog.SelectedFile?
모듈이 "지역"에로드되지 않았습니다! 영역은 "보기"(discouvered 또는 "injected") 일 수 있습니다. 질문을 다시 정리하고 세부 사항을 추가해 주시겠습니까? :) (덧붙여서 PRISM 문서는 QuickStarts 및 Reference Implementation과 함께 시작하는 것이 좋습니다;) – AbdouMoumen