• MVVM test


    示例代码

        public class RegisterUserViewModel
        {
            public UserInfo userInfo { get; set; }
    
            public ICommand ClickCommand { get; set; }
    
            public RegisterUserViewModel()
            {
                userInfo = new UserInfo();
                userInfo.Age = 25;
                this.ClickCommand = new DelegateCommand<object>(OnClick, arg => true);
            }
    
            void OnClick(object obj)
            {
                userInfo.Age += 1;
            }
        }
    ViewModel
    <Window x:Class="mvvmTest.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
                <Button Height="23" HorizontalAlignment="Left" Margin="12,0,0,72" Name="btnClick" VerticalAlignment="Bottom" Width="75" Command="{Binding ClickCommand}">Click me</Button>
                <TextBlock Height="21" Margin="12,44,0,0" Name="textBlock1" VerticalAlignment="Top" Text="UserName:" HorizontalAlignment="Left" Width="62" />
                <TextBlock Margin="12,93,0,0" Name="textBlock2" Height="21" HorizontalAlignment="Left" VerticalAlignment="Top" Width="62" Text="Age:" />
                <TextBlock Height="21" Margin="99,44,117,0" Name="tbUserName" Text="" VerticalAlignment="Top" />
            <TextBlock Height="21" Margin="99,93,117,0" Name="tbAge" Text="{Binding userInfo.Age}" VerticalAlignment="Top" />
        </Grid>
    </Window>
    Xaml View
        public partial class MainWindow : Window
        {
    
            private RegisterUserViewModel viewModel;
    
            public MainWindow()
            {
                InitializeComponent();
    
                this.ViewModel = new RegisterUserViewModel();
    
            }
     
            public RegisterUserViewModel ViewModel
            {
                get
                {
                    return this.viewModel;
                }
                set
                {
                    this.viewModel = value;
                    this.DataContext = value;
                }
            }
        }
    View cs
        public class NotificationObject : INotifyPropertyChanged
        {
            public event PropertyChangedEventHandler PropertyChanged;
    
            public void RaisePropertyChanged(string propertyName)
            {
                if (this.PropertyChanged != null)
                {
                    this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
                }
            }
        }
    
        public class UserInfo : NotificationObject
        {
            private int age;
    
            public int Age
            {
                get
                {
                    return age; 
                }
    
                set
                {
                    age = value;
                    this.RaisePropertyChanged("Age");
                }
            }
        }
    Model
  • 相关阅读:
    PHP post方式请求webservice接口以及解析返回的数据
    XYTipsWindow弹出层
    php使用rtrim时,可能会出现乱码
    带搜索的下拉框
    js实现自动给省市县地区自动赋值
    php 获取指定日期段内每一天的日期
    sqlserver数据库的备份和还原
    js判断哪个单选框应该被选中
    extjs3.1 解决列锁定,合计行不能滑动的问题
    考研数据结构-二叉树
  • 原文地址:https://www.cnblogs.com/luohengstudy/p/4633508.html
Copyright © 2020-2023  润新知