一起搭WPF架构之界面绑定显示


1 前言

之前的许多介绍,已经完成界面搭建的熟悉内容,现在在搭建的基础上完成简单的界面切换。


2 定义文件

我们在已有项目中需要定义两个CS文件,在这个两个CS文件中,我们可以在MainModel.cs中定义对应的属性,然后在MainViewModel.cs中对MainModel 类使用,再同步更新到对应的UI界面中,从而实现MVVM模式。
在这里插入图片描述

3 定义属性

MainModel.cs中定义属性。UIElement 是一个非常基础和核心的类,它是几乎所有可视化元素的基类。UIElement 类提供了许多用于处理用户输入、布局、渲染和其他UI功能的属性和方法。
我们还是使用到了NotifyChanged 方法,设置新值时调用 NotifyChanged 方法,可用于后台数据更新时刷新界面数据。

class MainModel
{
    private UIElement _mainContent;

    public UIElement MainContent
    {
        get { return _mainContent; }
        set { _mainContent = value; this.NotifyChanged(); }
    }
}

4 控制器使用

我们定义MainModel类,用这个类的属性获取对应的UI元素名称,然后方法内部使用 Type.GetType(name) 获取相应的 Type 对象,然后使用 Activator.CreateInstance(type) 创建这个类型的实例,最终达到调用显示的效果。

public MainModel MainModel { get; set; } = new MainModel();
private void NavPage(string name)
{
    Type type = Type.GetType(name);
    this.MainModel.MainContent = (System.Windows.UIElement)Activator.CreateInstance(type);
}

public MainViewModel()
{
    this.NavPage("InterfacialDesign.Views.DataModelViews");
}

5 界面内容绑定

这里就是最简单的界面数据绑定,我们在后台使用MainModel类,在控制器对MainModel类的属性进行赋值,更新界面元素。

<ContentControl Content="{Binding MainModel.MainContent}"/>

ContentControl——一个可以显示单个对象的内容的控件,它非常适合用于绑定到可能改变的UIElement

6 界面效果

第一个界面是Mainwindow界面,没有按钮。
第二个是DataModelViews界面,添加一个按钮。
第三个是最终效果。
在这里插入图片描述


总结

本文仅仅简单介绍了界面绑定显示的方法,但是默认了界面显示,后续需要根据按钮进行界面切换。

  • 14
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值