C#MVVMdemo
时间: 2023-10-19 18:18:06 浏览: 114
C# MVVM(Model-View-ViewModel)是一种软件架构模式,用于将用户界面(View)与业务逻辑(ViewModel)分离,并通过数据绑定实现它们之间的通信。MVVM可用于任何C#应用程序,包括桌面应用程序、移动应用程序和Web应用程序。
如果你想了解关于C# MVVM的示例代码,我可以提供一个简单的MVVM示例:
在这个示例中,我们假设你已经安装了Visual Studio,并创建了一个名为"MVVMDemo"的C#项目。
1. 创建一个名为"Models"的文件夹,并在其中创建一个名为"Person.cs"的类文件。此类将包含有关个人的属性和方法。例如:
```
using System.ComponentModel;
namespace MVVMDemo.Models
{
public class Person : INotifyPropertyChanged
{
private string name;
public string Name
{
get { return name; }
set
{
name = value;
OnPropertyChanged("Name");
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
}
```
2. 创建一个名为"ViewModels"的文件夹,并在其中创建一个名为"MainViewModel.cs"的类文件。此类将包含与用户界面交互的逻辑。例如:
```
using MVVMDemo.Models;
namespace MVVMDemo.ViewModels
{
public class MainViewModel
{
private Person person;
public MainViewModel()
{
person = new Person();
}
public Person Person
{
get { return person; }
set { person = value; }
}
}
}
```
3. 创建一个名为"Views"的文件夹,并在其中创建一个名为"MainWindow.xaml"的XAML文件。此文件将包含用户界面的设计和布局。例如:
```xml
<Window x:Class="MVVMDemo.Views.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MVVMDemo.ViewModels"
Title="MVVM Demo" Height="350" Width="500">
<Window.DataContext>
<local:MainViewModel/>
</Window.DataContext>
<Grid>
<TextBlock Text="Name:"/>
<TextBox Text="{Binding Person.Name, Mode=TwoWay}"/>
<TextBlock Text="{Binding Person.Name}"/>
</Grid>
</Window>
```
在此示例中,我们创建了一个MainWindow窗口,其中包含一个TextBlock、一个TextBox和另一个TextBlock。第一个TextBlock显示"Name:",TextBox用于输入姓名,第二个TextBlock通过数据绑定显示所输入的姓名。
这只是一个简单的C# MVVM示例,更复杂的应用程序可能会涉及更多的模型、视图和视图模型。希望这个示例可以帮助你开始使用C# MVVM。如果你有更多问题,请随时提问!
阅读全文