博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
05、ViewInjection
阅读量:6227 次
发布时间:2019-06-21

本文共 2480 字,大约阅读时间需要 8 分钟。

  1、将App.xaml中的StartupUri="MainWindow.xaml"删除。

  2、使用NuGet安装Prism.Wpf、Prism.Core、Prism.Unity。

  3、添加类“Bootstrapper”,编辑如下:

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Windows; 7 using Microsoft.Practices.Unity; 8 using Prism.Unity; 9 using ViewInjection.Views;10 11 namespace ViewInjection12 {13     public class Bootstrapper:UnityBootstrapper14     {15         protected override DependencyObject CreateShell()16         {17             return Container.Resolve
();18 }19 20 protected override void InitializeShell()21 {22 Application.Current.MainWindow.Show();23 }24 }25 }

  4、创建文件夹Views,将MainWindow.xaml移动到此文件夹中。向Views文件夹中添加TextA.xaml。

  

1 
10
11
12
13
14
1 using System.Windows.Navigation; 2 using System.Windows.Shapes; 3 using Microsoft.Practices.Unity; 4 using Prism.Regions; 5  6 namespace ViewInjection.Views 7 { 8     ///  9     /// MainWindow.xaml 的交互逻辑10     /// 11     public partial class MainWindow : Window12     {13         private IUnityContainer _container;14         private IRegionManager _regionManager;15         public MainWindow(IUnityContainer unityContainer, IRegionManager regionManager)16         {17             InitializeComponent();18 19             _container = unityContainer;20             _regionManager = regionManager;21         }22 23 24         private void BtnAddRegion_OnClick(object sender, RoutedEventArgs e)25         {26             var view = _container.Resolve
();27 IRegion region = _regionManager.Regions["ContentRegion"];28 region.Add(view);29 }30 }31 }
1 
9
10
11
12

  5、修改App.xaml

1 using System; 2 using System.Collections.Generic; 3 using System.Configuration; 4 using System.Data; 5 using System.Linq; 6 using System.Threading.Tasks; 7 using System.Windows; 8  9 namespace ViewInjection10 {11     /// 12     /// App.xaml 的交互逻辑13     /// 14     public partial class App : Application15     {16         protected override void OnStartup(StartupEventArgs e)17         {18             base.OnStartup(e);19 20             var bootstrapper=new Bootstrapper();21             bootstrapper.Run();22         }23         24     }25 }

 

转载于:https://www.cnblogs.com/bjxingch/articles/9547475.html

你可能感兴趣的文章
PMP考试的过与只是
查看>>
java 监控 收集资料3(收集中)
查看>>
Apache Pulsar中的地域复制,第1篇:概念和功能
查看>>
getRealPath()和getContextPath()的区别
查看>>
Hadoop MapReduce编程 API入门系列之wordcount版本2(六)
查看>>
一个页面标题和过滤输出的解决方案(上)
查看>>
python pip install 出现 OSError: [Errno 1] Operation not permitted
查看>>
oracle12C 重做日志
查看>>
Linux ubuntu lamp安装配置环境phpmyadmin
查看>>
data guard 的部署
查看>>
枚举、模拟、递推
查看>>
sublime text 3安装
查看>>
awk-sed
查看>>
EXTJS4-----前言
查看>>
iOS11里判断Safari浏览器是无痕模式还是正常模式?
查看>>
zookeeper与kafka安装部署及java环境搭建(发布订阅模式)
查看>>
error C2244 "无法将函数定义与现有的声明匹配"的解决方法
查看>>
记一个 dubbo中hessian2反序列化 Map 的一个问题
查看>>
HDU_1505_矩阵中的最大矩形_dp
查看>>
HDU_1398_母函数
查看>>