コード例 #1
0
        public MainWindow(Prism.Ioc.IContainerExtension container, Prism.Regions.IRegionManager regionManager)
        {
            InitializeComponent();

            this._container     = container;
            this._regionManager = regionManager;

            this.Loaded += MainWindow_Loaded;
        }
コード例 #2
0
 public static object ResolveViewModelForView(this Prism.Ioc.IContainerExtension extension, object view, Type viewModelType)
 {
     if (view is Page page)
     {
         var service = NavigationService.Instances[page.Frame];
         return(extension.Resolve(viewModelType, (typeof(INavigationService), service)));
     }
     else
     {
         return(extension.Resolve(viewModelType));
     }
 }
コード例 #3
0
        // 该构造函数根据使用的内容的不同,添加不同的参数。是通过什么机制进行调用的?
        public MainWindow(Prism.Ioc.IContainerExtension container, Prism.Regions.IRegionManager regionManager)
        {
            InitializeComponent();

            // 方式一:指定已设计好的视图
            regionManager.RegisterViewWithRegion("ContentRegion", typeof(ViewA));

            // 方式二:通过容器创建视图
            regionManager.RegisterViewWithRegion("ContentRegion", () => container.Resolve(typeof(ViewA)));

            // 方式三:通过代码创建视图
            regionManager.RegisterViewWithRegion("ContentRegion", () =>
            {
                Border border          = new Border();
                border.BorderBrush     = System.Windows.Media.Brushes.Orange;
                border.BorderThickness = new Thickness(5);
                border.Margin          = new Thickness(3);

                return(border);
            });


            // 如果为一个区域指定了多个视图,默认显示第一个。可通过Region的Active函数或Deactive()激活视图
        }
コード例 #4
0
 public DialogServiceExtended(Prism.Ioc.IContainerExtension containerExtension) : base(containerExtension)
 {
 }