• R/O
  • HTTP
  • SSH
  • HTTPS

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

なろうブックマーク分析用ツールのPrism+WinUI3サンプル実装


File Info

Rev. 91b05482e5b7288185c0f453ccfc74c20099b04b
Tamanho 2,782 bytes
Hora 2023-09-30 19:37:53
Autor yoshy
Mensagem de Log

[MOD] プロジェクト間の依存関係、外部パッケージへの依存関係の修正
[UPG] ClearAuLaitのCaptionFormatterの変更に伴う修正

Content

using NLog;
using Prism.Ioc;
using Prism.Modularity;
using Prism.Mvvm;
using Prism.Regions;
using TestNarou3.Adaptor;
using TestNarou3.Adaptor.Boundary.Gateway.ViewModel;
using TestNarou3.Domain.Boundary.Repository;
using TestNarou3.OuterEdge.Repository.API;
using TestNarou3.OuterEdge.Repository.Setting;
using TestNarou3.OuterEdge.UI.View;

namespace TestNarou3.OuterEdge
{
    public class OuterEdgeModule : IModule
    {
        private static readonly ILogger logger = LogManager.GetCurrentClassLogger();

        public static readonly string ENSURE_STRONG_REFERRENCE = AdaptorModule.ENSURE_STRONG_REFERRENCE;

        public void RegisterTypes(IContainerRegistry containerRegistry)
        {
            ///
            /// Navigation Views
            ///

            containerRegistry.RegisterForNavigation<LoginFormPage, ILoginFormViewModel>();
            containerRegistry.RegisterForNavigation<BookmarkPage, IBookmarkViewModel>();

            containerRegistry.RegisterForNavigation<BookmarkCategoryView, IBookmarkCategoryViewModel>();
            containerRegistry.RegisterForNavigation<BookmarkDetailListView, IBookmarkDetailListViewModel>();

            ///
            /// Repositories
            ///

            containerRegistry.RegisterSingleton<IAppConfigRepository, AppConfigRepository>();
            containerRegistry.RegisterSingleton<INarouRepository, NarouRepository>();

            logger.Trace("RegisterTypes end");
        }

        public void OnInitialized(IContainerProvider containerProvider)
        {
#if false
            //
            // Views and ViewModels
            //

            ViewModelLocationProvider.Register<MainWindowView>(() => containerProvider.Resolve<IMainWindowViewModel>());

            ViewModelLocationProvider.Register<LoginFormPage>(() => containerProvider.Resolve<ILoginFormViewModel>());
            ViewModelLocationProvider.Register<BookmarkPage>(() => containerProvider.Resolve<IBookmarkViewModel>());

            ViewModelLocationProvider.Register<BookmarkCategoryView>(() => containerProvider.Resolve<IBookmarkCategoryViewModel>());
            ViewModelLocationProvider.Register<BookmarkDetailListView>(() => containerProvider.Resolve<IBookmarkDetailListViewModel>());
#endif

            //
            // Regions and Views
            //

            var rm = containerProvider.Resolve<IRegionManager>(); ;

            rm.RegisterViewWithRegion(IMainWindowViewModel.REGION_NAME, typeof(LoginFormPage));

            rm.RegisterViewWithRegion(IBookmarkViewModel.CATEGORY_REGION_NAME, typeof(BookmarkCategoryView));
            rm.RegisterViewWithRegion(IBookmarkViewModel.DETAIL_LIST_REGION_NAME, typeof(BookmarkDetailListView));

            logger.Trace("OnInitialized end");
        }
    }
}