【C#】MVVM基础知识及基本应用

以下是一些关于C#中MVVM(Model-View-ViewModel)模式的基础知识:

 

1. 模型 (Model)

模型负责表示数据和业务逻辑,通常包括数据库访问、文件操作等。它不包含任何用户界面相关的代码。

public class Person

{

    public int Id { get; set; }

    public string Name { get; set; }

    public DateTime BirthDate { get; set; }

 

    // 业务逻辑方法,例如验证或计算等

}

 

2. 视图模型 (ViewModel)

视图模型是MVVM模式的核心部分。它包含UI相关的数据和操作,并提供用于更新用户界面的命令和属性。

using System.Collections.ObjectModel;

using System.ComponentModel;

 

public class MainViewModel : INotifyPropertyChanged

{

    private ObservableCollection _people;

    public ObservableCollection People

    {

        get { return _people; }

        set

        {

            _people = value;

            OnPropertyChanged(nameof(People));

        }

    }

 

    public event PropertyChangedEventHandler? PropertyChanged;

 

    protected void OnPropertyChanged(string propertyName)

    {

        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));

    }

 

    // 命令,例如按钮点击事件处理程序

    private RelayCommand _addPersonCommand;

    public RelayCommand AddPersonCommand => _addPersonCommand ??= new RelayCommand(AddPerson);

 

    private void AddPerson()

    {

        People.Add(new Person { Name = "New Person" });

    }

}

 

3. 视图 (View)

视图是用户界面的表示,通常是一个Windows窗体或WPF控件。它绑定到视图模型中的属性和命令。

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Title="MVVM Example" Height="450" Width="800">

   

       

你可能感兴趣的:(c#)