ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [DX_WPF] Dynamic Module Project Create
    DevExpress/DX_WPF 2024. 1. 26. 14:34

    # 프로젝트 생성 절차.

    1. WPF 프로젝트 생성.

     

    Dev 템플릿에서 만들어지는 디렉토리에 맞추기 위해 Location에 같은 이름의 디렉토리 경로 하나 더 추가.

     

     

    .NET 7.0 사용.

     

     

     

     

    => Class 이름 변경.

     

    2. 프로젝트 설정

     

    => <ImplicitUsings>enable</ImplicitUsings> 삭제

     

    3. IDynamicModule 추가.

    IDynamicModule 은 DXModularWithDynamic.Common에 Package로 참조 되어있음.

    같은 솔루션 내 프로젝트면 인텔리젠스로 간단하게 Common 참조.

     

     

    아래와 같이 인터페이스 참조한 상태면 동적 로드 준비 완료.

     

     

     

    4. View&ViewModel 추가

     

    아래 빨간박스 확인하고 추가.

     

     

     

    4.1 View

     

    => 삭제

    <UserControl.DataContext>

    <ViewModels:ModuleEViewModel/>

    </UserControl.DataContext>

     

    4.2 ViewModel

    아래와 같이 구성 추가

    기본으로 구성되는 Class :ViewModelBase 를 써도 되지만

     

    ViewModelSource 나 ViewModelBase 둘이 동일한 기능. (둘 중 하나만 사용.)

     

    Dev Support QnA

    ViewModelSource and ViewModelBase are interchangeable solutions that should not be used together.

     

     

    5. DevExpress Module 등록 및 주입

     

    Common.Modules 에 모듈 이름 추가.

     

     

    RegisterModules() 에 등록.

    주입이 필요하면

    InjectModules() 등록.

     

    Module을 사용하고자 하는 곳에서 Manager를 통해 Navigate해서 사용,

     

    Like~

     

    끝.

     

    DevExpress.MVVM을 사용해서 프로젝트 진행하면 됨.

     

     


     

    Ioc Container 추가 버전

     

    ViewModel에 생성자 주입 가능하게~

     

    DXDynamicModule.1.0.6.nupkg
    0.01MB
    DXDynamicModule.2.2.2.nupkg
    0.01MB
    DXDynamicModule.2.2.4.nupkg
    0.01MB

     

     

     

    Container 전달.

     

    Register<Type>(); 하지 않아도  Type 을 GetInstance해서 가져다 쓸 때 알아서 register

                SimpleContainer.Options.ResolveUnregisteredConcreteTypes = true;

     

    기본값은 False;

     

     

    View.xaml.cs

     

     

    ViewModel.cs

     

     

    ViewModel에 생성자 주입이 가능하게 됨.

     

     

    MainViewModel 을 Ioc Container 로 생성자 주입하려고 할 때

    ISupportService 오류나는 현상

     

     

     

    MainView.xaml에서 아래 삭제 후 

                 d:DataContext="{dxmvvm:ViewModelSource viewModels:MainViewModel}"

     

     

    MainViewModel에서 ViewModelBase 상속하면 해결.

    728x90

    'DevExpress > DX_WPF' 카테고리의 다른 글

    [DX_WPF] IRegion VisualSerializationMode  (0) 2024.02.06
    [DX_WPF] Pagination or Infinite Scroll  (0) 2024.01.26
    [DX_WPF] VisualStateService  (0) 2024.01.25
    [DX_WPF] POCO View Models  (0) 2024.01.24
    [DX_WPF] ISupportServices  (0) 2024.01.19

    댓글

Designed by Tistory.