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

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

  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 ActivationDeactivation.Views; 9 using Prism.Unity;10 11 namespace ActivationDeactivation12 {13     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文件夹中添加ViewA.xaml,ViewB.xaml。

  

1 
10
11
12
13
14
15
16
17
18
19
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 System.Windows.Controls; 8 using System.Windows.Data; 9 using System.Windows.Documents;10 using System.Windows.Input;11 using System.Windows.Media;12 using System.Windows.Media.Imaging;13 using System.Windows.Navigation;14 using System.Windows.Shapes;15 using Microsoft.Practices.Unity;16 using Prism.Regions;17 18 namespace ActivationDeactivation.Views19 {20     /// 21     /// MainWindow.xaml 的交互逻辑22     /// 23     public partial class MainWindow : Window24     {25         private IUnityContainer _container;26         private IRegionManager _regionManager;27         private IRegion _region;28 29         private ViewA _viewA;30         private ViewB _viewB;31         public MainWindow(IUnityContainer unityContainer,IRegionManager regionManager)32         {33             InitializeComponent();34             _container = unityContainer;35             _regionManager = regionManager;36             37 38             this.Loaded += MainWindow_Loaded;39         }40 41         private void MainWindow_Loaded(object sender, RoutedEventArgs e)42         {43             _viewA = _container.Resolve
();44 _viewB = _container.Resolve
();45 46 _region = _regionManager.Regions["ContentRegion"];47 48 _region.Add(_viewA);49 _region.Add(_viewB);50 }51 52 private void BtnViewA_OnClick(object sender, RoutedEventArgs e)53 {54 _region.Activate(_viewA);55 }56 57 private void BtnDeactiveViewA_OnClick(object sender, RoutedEventArgs e)58 {59 _region.Deactivate(_viewA);60 }61 62 private void BtnViewB_OnClick(object sender, RoutedEventArgs e)63 {64 _region.Activate(_viewB);65 }66 67 private void BtnDeactiveViewB_OnClick(object sender, RoutedEventArgs e)68 {69 _region.Deactivate(_viewB);70 }71 }72 }
1 
9
10
11
12
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 ActivationDeactivation10 {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 }

 

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

你可能感兴趣的文章
爬虫学习之-xpath
查看>>
js jQuery 右键菜单 清屏
查看>>
dotConnect for Oracle
查看>>
Eclipse下C/C++开发环境搭建
查看>>
Eclipse中设置在创建新类时自动生成注释
查看>>
我的友情链接
查看>>
CoreOS 手动更新
查看>>
golang 分页
查看>>
再论机械式针对接口编程
查看>>
25 个 Linux 性能监控工具
查看>>
C#程序员整理的Unity 3D笔记(十三):Unity 3D基于组件的思想
查看>>
Tengine-2.1.1 ngx_http_concat_module 400问题
查看>>
Windows中挂载安装ISO文件
查看>>
Wayland 1.0发布
查看>>
golang的goroutine是如何实现的?
查看>>
乐视云基于Kubernetes的PaaS平台建设
查看>>
R 学习笔记《十》 R语言初学者指南--图形工具
查看>>
PHP通过读取DOM抓取信息
查看>>
DICOM医学图像处理:DICOM网络传输
查看>>
nio和传统Io的区别
查看>>