从零开始搭建Wpf初学篇2-Prism实现界面绑定

AIStudio框架汇总及介绍

前言:使用Prism作为MVVM框架进行搭建

第一步:在包管理器中安装Prism

第二步:建立Views和ViewModels文件夹,把MainWindow移入Views,在ViewModels建立MainWindowViewModel,结构如下:

第三步:MainWindowViewModel继承BindableBase(帮我们实现了INotifyPropertyChanged,这样属性改变能直接驱动界面变化),并加入如下代码,将之前MainWindow上的部分功能移植过来,用MVVM的方法实现属性和命令的绑定。

class MainWindowViewModel: BindableBase
{
    private string _noticeText = "欢迎来到AIStudio.Wpf.Client,让我们一起从0开始学Wpf框架搭建吧!";
    public string NoticeText
    {
        get { return _noticeText; }
        set
        {
            SetProperty(ref _noticeText, value);
        }
    }

    private ICommand _clickCommand;
    public ICommand ClickCommand
    {
        get
        {
            return this._clickCommand ?? (this._clickCommand = new DelegateCommand(() => this.Click()));
        }
    }

    private void Click()
    {
        MessageBox.Show("HelloWorld, 您点击了一下Button按钮");
    }
}

第四步:将View与ViewModel进行关联,并进行属性绑定。

this.DataContext = new MainWindowViewModel();

<Grid>
    <TextBlock HorizontalAlignment="Center" Margin="0,160,0,0" Text="{Binding NoticeText}" TextWrapping="Wrap" VerticalAlignment="Top"/>
    <Button Content="点击我" HorizontalAlignment="Left" Margin="355,236,0,0" VerticalAlignment="Top" Command="{Binding ClickCommand}"/>
</Grid>

第五步:运行看效果,但是提示报错,因为我们移动了MainWindow的位置,需要改下启动地址。

再运行就和之前的效果一模一样了。

后续:下一章将实现,Prism进行区域Region视图注入。

源码地址:https://gitee.com/akwkevin/aistudio.-wpf.-client.-stepby-step

Prism相关推荐文章:Prism 8.0 入门(上):Prism.Core

另外推荐一下我的Wpf客户端框架:https://gitee.com/akwkevin/aistudio.-wpf.-aclient

posted @ 2021-08-07 10:47  竹天笑  阅读(1158)  评论(0编辑  收藏  举报