一、简介
什么是ViewModel?自己百度下MVVM吧。
什么是ViewModelLocator?意思是ViewModel系统、或ViewModel定位,说白了,就是介绍ViewModel。
工程目录:
你可以参考https://www.cnblogs.com/bjxingch/articles/9562542.html
二、举例
1、App.xaml、App.xaml.cs、Bootstrapper.cs、MainWindow.xaml.cs采用默认值。
2、MainWindow.xaml:
<Window x:Class="ViewModelLocator.Views.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:prism="http://prismlibrary.com/"
prism:ViewModelLocator.AutoWireViewModel="True"
Title="{Binding Title}" Height="350" Width="525">
<Grid>
<ContentControl prism:RegionManager.RegionName="ContentRegion" />
</Grid>
</Window>
3、MainWindowViewModel.cs:
using Prism.Mvvm;
namespace ViewModelLocator.ViewModels
{
public class MainWindowViewModel : BindableBase
{
private string _title = "Prism Unity Application";
public string Title
{
get { return _title; }
set { SetProperty(ref _title, value); }
}
public MainWindowViewModel()
{
}
}
}
4、运行结果:
5、流程分析:
你会发现,这行代码根本没有用上
<ContentControl prism:RegionManager.RegionName="ContentRegion" />
实际上,View绑定了ViewModels的数据,即MainWindow.xaml绑定了MainWindowViewModel.cs:
Title="{Binding Title}"
这样就能显示字符串 "Prism Unity Application"了。
以上工程的流程图:
扫描二维码关注公众号,回复:
4977301 查看本文章
好了,就是这么简单。
好了,就是这么简单
好了,就是这么简单