中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

C# MVVM模式在WPF中的應用示例

c#
小樊
87
2024-08-22 21:00:34
欄目: 編程語言

MVVM(Model-View-ViewModel)是一種軟件架構模式,用于將應用程序的用戶界面邏輯與業務邏輯分離。在WPF應用程序中使用MVVM模式可以使代碼更易于維護和測試。下面是一個簡單的C# MVVM模式在WPF中的應用示例:

Model(數據模型):

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

ViewModel(視圖模型):

public class MainViewModel : INotifyPropertyChanged
{
    private Person _person;

    public Person Person
    {
        get { return _person; }
        set
        {
            _person = value;
            OnPropertyChanged(nameof(Person));
        }
    }

    public MainViewModel()
    {
        Person = new Person { Name = "John Doe", Age = 30 };
    }

    public event PropertyChangedEventHandler PropertyChanged;

    protected void OnPropertyChanged(string propertyName)
    {
        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
    }
}

View(視圖):

<Window x:Class="MVVMExample.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:MVVMExample"
        Title="MVVM Example" Height="200" Width="300">
    <Window.DataContext>
        <local:MainViewModel/>
    </Window.DataContext>
    
    <Grid>
        <StackPanel>
            <TextBlock Text="Name:"/>
            <TextBox Text="{Binding Person.Name, Mode=TwoWay}"/>
            
            <TextBlock Text="Age:"/>
            <TextBox Text="{Binding Person.Age, Mode=TwoWay}"/>
        </StackPanel>
    </Grid>
</Window>

在這個示例中,我們定義了一個簡單的Person類作為數據模型,一個MainViewModel類作為視圖模型,用于管理Person對象的數據,以及一個MainWindow作為視圖,使用DataBinding將視圖模型和視圖進行綁定。

當運行這個示例時,窗口中會顯示一個包含姓名和年齡輸入框的界面,用戶輸入的數據會被綁定到視圖模型中的Person對象上。這樣就實現了視圖與數據模型的分禨,使代碼更易于維護和測試。

0
廉江市| 吉林省| 四子王旗| 墨脱县| 嘉定区| 漳浦县| 当阳市| 怀安县| 荔波县| 霍山县| 旬阳县| 从化市| 英吉沙县| 东源县| 花莲市| 灵川县| 沙雅县| 丰镇市| 灵璧县| 邹城市| 格尔木市| 黄浦区| 富顺县| 蓬安县| 靖西县| 清远市| 山东省| 武义县| 房产| 西畴县| 胶州市| 交口县| 元阳县| 方城县| 曲沃县| 大竹县| 奉贤区| 贺州市| 重庆市| 新郑市| 清涧县|