首页 > MVVM test

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
"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">"21" Margin="12,44,0,0" Name="textBlock1" VerticalAlignment="Top" Text="UserName:" HorizontalAlignment="Left" Width="62" />"12,93,0,0" Name="textBlock2" Height="21" HorizontalAlignment="Left" VerticalAlignment="Top" Width="62" Text="Age:" />"21" Margin="99,44,117,0" Name="tbUserName" Text="" VerticalAlignment="Top" />"21" Margin="99,93,117,0" Name="tbAge" Text="{Binding userInfo.Age}" VerticalAlignment="Top" />
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

 

转载于:https://www.cnblogs.com/luohengstudy/p/4633508.html

更多相关:

  • 在.Net Framework中,配置文件一般采用的是XML格式的,.NET Framework提供了专门的ConfigurationManager来读取配置文件的内容,.net core中推荐使用json格式的配置文件,那么在.net core中该如何读取json文件呢?1、在Startup类中读取json配置文件1、使用Confi...

  •   1 public class FrameSubject extends JFrame {   2    3   …………..   4    5   //因为无法使用多重继承,这儿就只能使用对象组合的方式来引入一个   6    7   //java.util.Observerable对象了。   8    9   DateSub...

  • 本案例主要说明如何使用NSwag 工具使用桌面工具快速生成c# 客户端代码、快速的访问Web Api。 NSwagStudio 下载地址 比较强大、可以生成TypeScript、WebApi Controller、CSharp Client  1、运行WebApi项目  URL http://yourserver/swagger 然后...

  •   在绑定完Action的所有参数后,WebAPI并不会马上执行该方法,而要对参数进行验证,以保证输入的合法性.   ModelState 在ApiController中一个ModelState属性用来获取参数验证结果.   public abstract class ApiController : IHttpController,...

  • 1# 引用  C:AVEVAMarineOH12.1.SP4Aveva.ApplicationFramework.dll C:AVEVAMarineOH12.1.SP4Aveva.ApplicationFramework.Presentation.dll 2# 引用命名空间, using Aveva.Applicati...

  • 1.点击div外部隐藏, //*代表tip_box所包含的子元素 $('body').click(function(e) {var target = $(e.target);if(!target.is('#tip_box *') ) {//事件处理} });    2.div动态展开 .tip_box{width:300px;...

  • Flash在网页显示时,如果不指定其正确的宽度或高度或是按其宽高一定的比例,会变形。 你可以从下面地址参考到怎样取得Flash的宽度或是高度一些信息。http://www.codeproject.com/KB/graphics/ReaderSWFHeader.aspx 为了更好了解,Insus.NET在下面写了一个swf类别(代码部分...