首页 > 其他分享 >WPF-Prism Region使用

WPF-Prism Region使用

时间:2024-08-29 19:25:23浏览次数:10  
标签:控件 RegionManager Region MainLeft Prism 区域 SetRegionName WPF

  Region:

    区域,我的理解,就是窗体上的一部分地方,不是整个窗体。所以区域里都是用户控件UserControl,就是为了解决在窗体上显示一个自定义的公用的控件的。

  共两种用法:

  1、原始的方法(不借助prism的依赖注入),用IRegionManager接口,来完成区域的注册和设置。

    注册代码如下:

manager.RegisterViewWithRegion("HeaderRegion", typeof(Header));
manager.RegisterViewWithRegion("LeftRegion", typeof(MainLeft));
manager.RegisterViewWithRegion("MainRegion", typeof(MainRight));

上面的Header、MainLeft、MainRight是三个UserControl,这里先把他注册并命名,供设置用

设置代码:

RegionManager.SetRegionName(HeaderCtrl, "HeaderRegion");
RegionManager.SetRegionName(MainLeftCtrl, "LeftRegion");
RegionManager.SetRegionName(MainRightCtrl, "MainRegion");

依据上面的区域名称,把他们设置到要显示的控件上。HeaderCtrl是控件的名称。如图:

 

 上图中prism:RegionManager.RegionName="LeftRegion”,这个也是设置要显示区域的,等同于上面的SetRegionName方法。还有图上的ContentRegion是第2种方法用到的,这里不用管。

  2、借助prism的依赖注入,来完成区域Region的注册和设置。

  1)、首先需要在app文件下的RegisterTypes方法中,将需要导航的三个(Header、MainLeft、MainRight)用户控件注册上,代码如下:    

containerRegistry.RegisterForNavigation<Header>("H");
containerRegistry.RegisterForNavigation<MainLeft>();
containerRegistry.RegisterForNavigation<MainRight>();

第一个我加了个重命名,可以不加。然后在需要显示的地方加下面代码,如下两张图

      

把MainLeft控件加到名为ContentRegion的区域中

 

标签:控件,RegionManager,Region,MainLeft,Prism,区域,SetRegionName,WPF
From: https://www.cnblogs.com/dachuang/p/18387391

相关文章

  • wpf异常捕获
    protectedoverridevoidOnStartup(StartupEventArgse){Trace.Listeners.Add(newTextWriterTraceListener("ErrorLog.txt"));Trace.AutoFlush=true;AppDomain.CurrentDomain.UnhandledException+=CurrentDomain_UnhandledException;......
  • WPF Livecharts C# Column name change
    //xaml<Windowx:Class="WpfApp299.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.mi......
  • wpf prism用法总结
    1、App文件中RegisterTypes方法:此方法中主要是注册、绑定视图、实体的。使用RegisterForNavigation方法,可以将视图注册成导航,且绑定对应的viewmodel,视图被调用后自动绑定这个viewmodel。注册成导航后,相当于公开了此视图允许调用。同时同一个视图可以绑定多个viewmodel。......
  • 不可不知的WPF画笔(Brush)
    在WPF中,屏幕上的所有内容,都是通过画笔(Brush)画上去的。如按钮的背景色,边框,文本框的前景和形状填充。借助画笔,可以绘制页面上的所有UI对象。不同画笔具有不同类型的输出( 如:某些画笔使用纯色绘制区域,其他画笔使用渐变、图案、图像或绘图)。Brush位于System.Windows.Media命名空间,Br......
  • WPF手动实现切换页面
    1、首先主页面<Grid><Grid.ColumnDefinitions><ColumnDefinitionWidth="220"/><ColumnDefinition/></Grid.ColumnDefinitions><GridGrid.Column="1"><G......
  • WPF 现代化开发教程:使用 Microsoft.Extensions.Hosting 和 CommunityToolkit.Mvvm
    介绍随着WPF应用程序的复杂性增加,使用现代化的开发工具和模式变得尤为重要。本教程将指导你如何使用Microsoft.Extensions.Hosting和CommunityToolkit.Mvvm来开发一个现代化的WPF应用程序。这些工具为开发者提供了依赖注入、应用程序生命周期管理、MVVM模式支持等功能。先决......
  • WPF draw thumbs on livecharts and drag drop thumb
    //xaml<Windowx:Class="WpfApp299.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.mi......
  • Prism:导航(Navigation)
    Prism:导航(Navigation)在普遍的业务场景当中,必不可少的是页面切换,而Prism就可以使用Navigation功能来进行页面导航,在不同的场景当中会有各种用法,例如在切换页面验证、传递参数、返回上一页、返回下一页等功能。导航的基本条件1.注册显示区域2.注册导航页面注册显示区域......
  • Prism:对话框(Dialog)
    Prism:对话框(Dialog)应用背景对话框实际上是我们应用程序经常用到的一个功能,类如:Show、ShowDialog。可以弹出一个我们指定的窗口,仅此而已。Prism提供了一组对话服务,封装了常用的对话框组件的功能,例如:RegisterDialog/IDialogService(注册对话及使用对话)打开对话......
  • Prism:结语
    Prism:结语prism基本功能也已经学完了,在学习过程中遇到过很多问题,其中就有一点条我就一直困惑,那就是:依赖注入什么是依赖注入:(gpt写的)依赖注入(DependencyInjection,简称DI)是一种设计模式和编程技术,用于实现控制反转(InversionofControl,IoC)。它通过将对象的依赖项从对象内部移到......