WPF系列教程——(二)使用Prism实现MVVM设计模式
2023年7月19日发(作者:)
WPF系列教程——(⼆)使⽤Prism实现MVVM设计模式本⽂假设你已经知道MVVM设计模式是什么,所以直接进⼊正题,今天我们就⽤Prism来实现WPF的MVVM设计模式,百度上关于Prism的教程少之⼜少,仅有的⼏个教程也是使⽤的很古⽼的版本,反正也是看不懂写的啥玩意,下⾯以最简洁明了的代码来演⽰事件绑定和数据绑定。1. 准备使⽤上⼀节的Demo,来继续完成本节教程WPF系列教程——(⼀)仿TIM QQ界⾯PrismPrism是⼀个MVVM框架,它包括,依赖注⼊(通过Unity或MEF)、Commands, EventAggregator。在NuGet包管理器中搜索Prism,找到并添加到项⽬Prisminteractivity每⼀个控件都会有很多不⼀样的事件,这⾥使⽤interactivity来绑定控件的事件, 在程序集中搜索interactivity,并添加引⽤。命名空间xmlns:i="/expression/2010/interactivity"interactivity创建⼀个ViewModels⽂件夹,并创建,视图模型的命名统⼀使⽤视图名+"ViewModel",并继承BindableBase。2.开始1. 在ViewModel中添加窗⼝关闭事件委托public DelegateCommand CloseCommand { get; set; }在构造函数中实例化CloseCommand = new DelegateCommand(()=> { wn(); });在关闭按钮中绑定Command="{Binding CloseCommand}"2. ListView中Item的点击事件我们要实现的是点击Item,名⽚就会显⽰对应的头像和昵称。在ViewModel中创建Friend类public class Friend { public string Nickname { get; set; } //昵称 public BitmapImage Head { get; set; } //头像 }ListView数据源private ObservableCollection friends; public ObservableCollection Friends { get { return friends; } set { friends = value; } }添加测试数据friends = new ObservableCollection();(new Friend() {Nickname="Go to hell",Head= new BitmapImage(new Uri("pack://application:,,,/Images/")) });(new Friend() { Nickname = "糖宝", Head = new BitmapImage(new Uri("pack://application:,,,/Images/")) });(new Friend() { Nickname = "胖虎", Head = new BitmapImage(new Uri("pack://application:,,,/Images/")) });(new Friend() { Nickname = "⼩花", Head = new BitmapImage(new Uri("pack://application:,,,/Images/")) });(new Friend() { Nickname = "隔壁⽼王", Head = new BitmapImage(new Uri("pack://application:,,,/Images/")) });(new Friend() { Nickname = "狗⼦", Head = new BitmapImage(new Uri("pack://application:,,,/Images/"))});ListView绑定数据源ItemsSource="{Binding Friends}"ListView数据模板把数据模板中昵称和⽹名换成Friend中对应的属性,完成数据绑定。 <> > Item点击事件在后台定义点击事件委托public DelegateCommand
发布者:admin,转转请注明出处:http://www.yc00.com/news/1689718101a280679.html
评论列表(0条)