Prism Demo系列(八) Prism架构剖析:08-ViewModelLocator

一、简介

什么是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 查看本文章

好了,就是这么简单。

好了,就是这么简单

好了,就是这么简单 

猜你喜欢

转载自blog.csdn.net/xpj8888/article/details/86536939