none
Silverlight Prism 4 Project 생성 RRS feed

답변


  • 안녕하십니까? 김도남 님

    Microsoft TechNet Forum 사이트를 방문해 주셔서 감사합니다.

     

    문의 하신 “Silverlight Prism 4 Project 생성에 대한 답변을 드리겠습니다.

     

    Step 1 : Project 생성

     

    1.     File -> New -> Project 실행을 합니다.

    2.     Silverlight Template선택 후 Project를 생성을 합니다.

     

     

    Step 2 : Assembly 추가

     

    아래와 같이 Prism 4을 설치 후 Silverlight Prject Assembly를 추가를 합니다.

     

     

     

    Step 3 : BootStrapper

     

    아래와 같이 BootStrapper Class를 생성 후 UnityBootStrapper Class를 상속을 받습니다.

    public class BootStrapper : UnityBootstrapper

     

     

    아래와 같이 CreateShell, InitiailzeShell override합니다.

     

    BootStrapper.CS

     

    protected override DependencyObject CreateShell()

    {

        return Container.Resolve<Shell>();            

    }

     

    protected override void InitializeShell()

    {

        base.InitializeShell();

        //아래와 같이 Root Shell View 생성  RootVisual Property 설정을 합니다.

        Application.Current.RootVisual = (UIElement)this.Shell;

    }

     

     

    Step 4 : Module

     

    1.     Silverlight Class Project를 추가 한 후 아래의 Assembly를 추가를 합니다.

     

    Microsoft.Practices.Prism

    Microsoft.Practices.Prism.Interactivity

    Microsoft.Pracices.Prism.MefExtensions

    Microsoft.Practices.Prism.UnityExtensions

    Microsoft.Practices.ServiceLocation

    Microsoft.Priactices.Unity.Silverlight

     

    2.     Root Module Class를 생성을 한 후 IModule Interface를 구현을 합니다.

     
    ModuleA.CS

    public class ModuleA : IModule

    public void Initialize()

     

     

    3.     Shell에서 사용할 View Item을 생성을 합니다.

     

    View1.XAML

    <TextBlock Text="Module A View1"

               VerticalAlignment="Center"

               HorizontalAlignment="Center"

               FontSize="30"/>

     

     

    4.     생성 후 View1 Region에 등록을 합니다.

     

    Prism Module XAML에서 사용하기 위해 아래와 같이 등록을 합니다.

        xmlns:prism="http://www.codeplex.com/prism"

    Shell.XAML

     

           <ContentControl prism:RegionManager.RegionName="MainContent" />

     

    ModuleA.CS

     

             //Contructor Injection  이용해서 RegionManager Instance 제공받습니다

             public ModuleA(RegionManager regionmanager)

             {

                 _regionManager = regionmanager;

             }

     

             //제공받은 RegionManager 인스턴스를 이용해서 Shell View1 등록을 합니다.

             _regionManager.AddToRegion("MainContent"new View1());

     

     

    Step 5 : Module Catalog

     

    아래와 같이 ConfigureModuleCatalog 함수를 Override해서 임의로 생성한 ModuleA ModuleCatalog에 추가를 합니다.

     

    protected override void ConfigureModuleCatalog()

    {

        base.ConfigureModuleCatalog();

     

        ModuleCatalog moduleCatalog = (ModuleCatalog)this.ModuleCatalog;

        moduleCatalog.AddModule(typeof(ModuleAProject.ModuleA));

    }

     

    Step 6 : 확인

     

    Shell View 안에 Module A에 있는 View1 이 생성되었습니다.

     

     

     

     

    참고 자료

    Silverlight 5 Download

    http://www.silverlight.net/downloads

     

    Prism 4.0

    http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=4922

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

    • 답변으로 표시됨 김도남 2011년 12월 13일 화요일 오전 9:15
    2011년 12월 12일 월요일 오전 8:04
    중재자