2010-01-06 4 views
0

내가 만들고있는 응용 프로그램의 프레임 워크에서 "작업 공간"에 여러 개의 "플러그인"을 추가 할 수 있습니다. - 필요에 따라 크기가 조정됩니다. 각 플러그인은 WorkspaceManager (IWorkspaceManager 인터페이스를 통해 노출) 클래스를 사용하여 WorkspaceParameters (모든 플러그인에서 공유하는 전역 매개 변수)를 등록 할 수 있기를 원합니다. 플러그인이 전역 매개 변수를 등록하면 WorkspaceManager는 이미 같은 이름의 플러그인이 이미 등록되어 있는지 확인한 후 플러그인이 있으면 변경된 플러그인을 구독합니다. 지정된 이름으로 이미 작성되지 않은 경우 새 이름이 작성됩니다. WorkspaceParameter 클래스는 현재 다음과 같습니다Silverlight, PRISM 및 MVVM을 사용한 동적 컨트롤 디스플레이

public class WorkspaceParameter 
{ 
    public string Label { get; set; } 
    public Type ParameterType { get; set; } 
    public object Value { get; set; } 
} 

그때 내가 값을 변경할 수 있도록 사용자에 대한 각 WorkspaceParameter을 표시 할 앱에서 볼 수 있습니다. UI는 각 WorkspaceParameter의 ParameterType 멤버를 기반으로해야하며 모든 매개 변수는 StackPanel에 표시되어야합니다. 예를 들어 Type이 DateTime 인 경우 캘린더 선택기가있는 텍스트 상자를 표시하려고합니다. 문자열 인 경우 옆에 레이블이있는 간단한 Textbox이고 마지막으로 현재는 열거 형이면 사용 가능한 열거 형 옵션이있는 드롭 다운입니다.

PRISM 및 MVVM의 원칙을 사용하여이 동적 뷰를 구현하려면 어떻게해야합니까?

답변

0

Glenn Block의 일련의 블로그 포스트를 보시기를 권합니다. 지난 기사에서 그는 mvvm 패턴을 사용하기 위해 자신의 솔루션을 리팩토링했습니다. 그는 MEF를 많이 사용합니다. 확장 성을위한 프레임 워크입니다.

이것은 제 5의 sequal입니다. 모두 기본적으로 당신이 찾고있는 내용 일 수 있습니다.

http://msmvps.com/blogs/theproblemsolver/archive/2009/02/18/getting-started-with-the-repository-pattern-in-silverlight.aspx

관련 문제