zoukankan      html  css  js  c++  java
  • 从零开始搭建Wpf初学篇2-Prism实现界面绑定

    前言:使用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

    作者:竹天笑
    互相学习,提高自己。
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    AcWing 157. 树形地铁系统 (hash判断树同构)打卡
    AcWing 156. 矩阵 (哈希二维转一维查询)打卡
    AcWing 144. 最长异或值路径 01字典树打卡
    AcWing 143. 最大异或对 01字典树打卡
    AcWing 142. 前缀统计 字典树打卡
    AcWing 139. 回文子串的最大长度 hash打卡
    AcWing 138. 兔子与兔子 hash打卡
    常用C库函数功能及用法
    编程实现C库函数
    C语言面试题5
  • 原文地址:https://www.cnblogs.com/akwkevin/p/15111269.html
Copyright © 2011-2022 走看看