首页 > 其他分享 >wpf prism用法总结

wpf prism用法总结

时间:2024-08-29 13:48:22浏览次数:5  
标签:containerRegistry 方法 绑定 视图 用法 prism wpf 导航 RegisterForNavigation

1、App文件中RegisterTypes方法:

  此方法中主要是注册、绑定视图、实体的。使用RegisterForNavigation方法,可以将视图注册成导航,且绑定对应的viewmodel,视图被调用后自动绑定这个viewmodel。

  注册成导航后,相当于公开了此视图允许调用。同时同一个视图可以绑定多个viewmodel。

  如:containerRegistry.RegisterForNavigation<IndexView, IndexViewModel>();    containerRegistry.RegisterForNavigation<IndexView, LoginViewModel>();

 

  官方的解释:

containerRegistry.RegisterForNavigation‌是Prism框架中的一个方法,用于注册视图(View)或视图模型(ViewModel)以便进行导航。这个方法允许开发者指定哪些视图或视图模型可以在应用中进行导航。通过这个方法,开发者可以控制哪些页面或组件可以被访问,以及如何访问它们。

具体来说,containerRegistry.RegisterForNavigation方法接受两个参数:一个是视图类型(View),另一个是可选的视图模型类型(ViewModel)。这样做的好处是,它允许开发者在注册时为视图指定一个或多个视图模型,这样当导航到该视图时,相应的视图模型就会被实例化并绑定到视图上。此外,通过为视图或视图模型指定别名,可以进一步控制导航的行为和目标。

在Prism框架中,导航是通过IRegionManager接口的RequestNavigate方法实现的。这个方法接受两个参数:区域名称和视图名称。区域名称是在应用中定义的,用于标识一个特定的用户界面区域,而视图名称则是之前通过containerRegistry.RegisterForNavigation方法注册的视图的名称。通过这种方式,Prism框架支持在应用的不同部分之间进行灵活的导航,从而实现用户界面的动态变化和交互。

总的来说,containerRegistry.RegisterForNavigation方法在Prism框架中扮演着至关重要的角色,它允许开发者定义哪些视图和视图模型可以被导航到,以及如何通过导航来更新用户界面‌

 

标签:containerRegistry,方法,绑定,视图,用法,prism,wpf,导航,RegisterForNavigation
From: https://www.cnblogs.com/dachuang/p/18386509

相关文章

  • C#学习笔记- 随机函数Random()的用法详解
    原文链接:https://www.jb51.net/article/90933.htmRandom.Next()返回非负随机数;Random.Next(Int)返回一个小于所指定最大值的非负随机数Random.Next(Int,Int)返回一个指定范围内的随机数,例如(-100,0)返回负数1、random(number)函数介绍random(number)返回一个0~number-1之间......
  • 不可不知的WPF画笔(Brush)
    在WPF中,屏幕上的所有内容,都是通过画笔(Brush)画上去的。如按钮的背景色,边框,文本框的前景和形状填充。借助画笔,可以绘制页面上的所有UI对象。不同画笔具有不同类型的输出( 如:某些画笔使用纯色绘制区域,其他画笔使用渐变、图案、图像或绘图)。Brush位于System.Windows.Media命名空间,Br......
  • WPF手动实现切换页面
    1、首先主页面<Grid><Grid.ColumnDefinitions><ColumnDefinitionWidth="220"/><ColumnDefinition/></Grid.ColumnDefinitions><GridGrid.Column="1"><G......
  • Java中的数组用法(复制、替换、查找与排序)
    在Java编程中,数组是一种基础且强大的数据结构,用于存储一组相同类型的元素。本文将深入探讨数组在Java中的用法,并展示如何进行数组的复制与替换、查找以及排序。(这些了解与学习只需要一个IDEA就可以进行练习了 )##数组的声明与初始化在Java中,数组的声明和初始化非常直观。以......
  • 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)。它通过将对象的依赖项从对象内部移到......
  • Prism:事件聚合器
    Prism:事件聚合器Prism框架提供了一个事件聚合器,可以帮助不同模块之间进行解耦和通信。开发人员可以通过发布和订阅事件来实现模块之间的交互。IEventAggregator松耦合基于事件通讯多个发布者和订阅者微弱的事件过滤事件传递参数取消订阅该功能主要作用为,事件聚合器......