WPF MVVM使用Prism框架 传参

最近在学习使用WPF的MVVM,实践中发现ComandParameter不知道怎么传递到ViewModel中来,在网上找了一些朋友的解决办法大多数使用IComand来解决实现如下:

//这里目的在于将DataGrid选中行传递进来进行删除
public ICommand DelCmd
        {

            get
            {
                return new DelegateCommand<object>((para) =>
                {
                    SelectStudet = (Students)para;
                    //删除学生
                    DelStudent();
                });
            }
        }

以上代码能够解决我遇到的问题,但是自己想想既然Prism是一个成熟的框架,不应该出现这种传参都实现不了的问题啊,随后我就仔细看了一下Prism的DelegateCommand所在的类,发现他有一个DelegateCommand<T>的定义,随后问题迎刃而解,如下:

//命令定义
 public DelegateCommand<object> DeleCmd { get; set; }
//命令初始化
public MainWindowViewModel()
        {
            this.GetAllStudents();

            DeleCmd = new DelegateCommand<object>(new Action<object>((para) =>
            {
                DeleStudent(para);
            }));

        }

这样就能解决使用Prism传递参数的问题了。

ps:虽然这不是什么高深的问题,但是这反映了我个人的一些缺点:总是在遇到问题的时候去求助度娘,在实际项目开发中为了效率,这也无可厚非,但是在平常自己的学习中还需要多多思考,多多培养自己去解决问题的能力,写这篇文章谨以此来勉励自己,也希望大多数新研发人员不要有遇到问题就去找别人的解决方法的想法。(文中如有言辞不准确的地方,谢谢大家能够指出来,毕竟我也是菜 ,希望大家多多指点,哈哈!)

时间: 2024-10-09 07:03:09

WPF MVVM使用Prism框架 传参的相关文章

.NET Core 3 WPF MVVM框架 Prism系列之命令

原文:.NET Core 3 WPF MVVM框架 Prism系列之命令 本文将介绍如何在.NET Core3环境下使用MVVM框架Prism的命令的用法 一.创建DelegateCommand命令# 我们在上一篇.NET Core 3 WPF MVVM框架 Prism系列之数据绑定中知道prism实现数据绑定的方式,我们按照标准的写法来实现,我们分别创建Views文件夹和ViewModels文件夹,将MainWindow放在Views文件夹下,再在ViewModels文件夹下面创建MainWi

WPF ContextMenu 在MVVM模式中绑定 Command及使用CommandParameter传参

原文:WPF ContextMenu 在MVVM模式中绑定 Command及使用CommandParameter传参 ContextMenu无论定义在.cs或.xaml文件中,都不继承父级的DataContext,所以如果要绑定父级的DataContext,直接DataContext=“{Binding}”是行不通的 不能绑父级,但是能绑资源 第一步:定义一个中间类用来做资源对象 1 public class BindingProxy : Freezable 2 { 3 #region Over

WPF Prism框架下基于MVVM模式的命令、绑定、事件

原文:WPF Prism框架下基于MVVM模式的命令.绑定.事件 Prism框架下的自定义路由事件和命令绑定 BaseCode XAML代码: <Button x:Class="IM.UI.CommandEx.PrismCommandEx" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/wi

WPF MVVM COMMOND 传参

原文:WPF MVVM COMMOND 传参 一.直接绑定(对于有事件的控件可以通过直接绑定的方式) 1.view <hc:SideMenuItem Header="接谈中" Cursor="Hand" Command="{Binding AddTabItemCommand}" CommandParameter="PDjtList.xaml"> <hc:SideMenuItem.Icon> <Im

MvvmCross for WPF 支持子窗体显示、关闭、传参

最近在做 PCL(Portable Class Library)平台的项目,所以发一下自己遇到的问题 MvvmCross 是 PCL 平台的一个 MVVM 框架 地址:https://github.com/MvvmCross/MvvmCross 支持的平台: Silverlight for WP7, WP8 Mono for Android (or Xamarin.Android) MonoTouch for iOS (or Xamarin.iOS) the WinRT XAML framewo

WPF Step By Step 系列-Prism框架在项目中使用

WPF Step By Step 系列-Prism框架在项目中使用 回顾 上一篇,我们介绍了关于控件模板的用法,本节我们将继续说明WPF更加实用的内容,在大型的项目中如何使用Prism框架,并给予Prism框架来构建基础的应用框架,并且如何来设计项目的架构和模块,下面我们就来一步步开始吧. 本文大纲 1.Prism框架下载和说明 2.Prism项目预览及简单介绍. 3.Prism框架如何在项目中使用. Prism框架下载和说明 Prism框架是针对WPF和Silverlight的MVVM框架,这

scrapy框架的日志等级和请求传参, 优化效率

目录 scrapy框架的日志等级和请求传参, 优化效率 Scrapy的日志等级 请求传参 如何提高scripy的爬取效率 scrapy框架的日志等级和请求传参, 优化效率 Scrapy的日志等级 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是scrapy的日志信息. 日志信息的种类: ERROR : 一般错误 WARNING : 警告 INFO : 一般的信息 DEBUG : 调试信息 设置日志信息指定输出: 在settings.py配置文件中,加

python爬虫---scrapy框架爬取图片,scrapy手动发送请求,发送post请求,提升爬取效率,请求传参(meta),五大核心组件,中间件

# settings 配置 UA USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36' 一丶scrapy的图片数据爬取(流数据的爬取) ? scrapy中封装好了一个管道类(ImagesPipeline),基于该管道类可以实现图片资源的请求和持久化存储 编码流程: 爬虫文件中解析出图片的地址 将

爬虫5 scrapy框架2 全站爬取cnblogs, scarpy请求传参, 提高爬取效率, 下载中间件, 集成selenium, fake-useragent, 去重源码分析, 布隆过滤器, 分布式爬虫, java等语言概念补充, bilibili爬视频参考

1 全站爬取cnblogs # 1 scrapy startproject cnblogs_crawl # 2 scrapy genspider cnblogs www.cnblogs.com 示例: # cnblogs_crawl/cnblogs_crawl/spiders/cnblogs.py import scrapy from cnblogs_crawl.items import CnblogsCrawlItem from scrapy.http import Request class