zoukankan      html  css  js  c++  java
  • 引用prism的MVVM示例

    VS2013测试通过by一剑

    MainModel.cs

    using System.ComponentModel;
    
    namespace referencePrismMVVM.Model
    {
        public class MainModel
        {
            public int Number1 { get; set; }
    
            public int Number2 { get; set; }
    
            public int Result { get; set; }
        }
    }
    

     MainViewModel.cs

    using referencePrismMVVM.Model ;
    using Microsoft.Practices.Prism.Commands;
    using System.ComponentModel;
    
    namespace referencePrismMVVM.VideModel
    {
        public class MainViewModel:INotifyPropertyChanged 
        {
            public ICommand AddCommand { get; private set; }
            public MainViewModel()
            {
                this.AddCommand = new DelegateCommand<object>(this.OnSubmit);
            }
    
            private void OnSubmit(object obj)
            {
                Result = Number1 + Number2;
            }
    
            public event PropertyChangedEventHandler PropertyChanged;
    
            public int Number1 { get; set; }
    
            public int Number2 { get; set; }
    
            private int result;
    
            public int Result
            {
                get
                {
                    return this.result;
                }
                set
                {
                    if (value != this.result)
                    {
                        this.result = value;
                        if (this.PropertyChanged != null)
                        {
                            this.PropertyChanged(this, new PropertyChangedEventArgs("Result"));
                        }
                    }
                }
            }
        }
    }
    

     MainPage.xaml

    <UserControl
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" x:Class="referencePrismMVVM.MainPage"
        mc:Ignorable="d" 
        xmlns:ds="clr-namespace:referencePrismMVVM.VideModel"
        d:DesignHeight="300" d:DesignWidth="400">
    
        <UserControl.DataContext>
            <ds:MainViewModel/>
        </UserControl.DataContext>
    
        <Grid x:Name="LayoutRoot" Background="White">
            <TextBox Text="{Binding Number1, Mode=TwoWay}" HorizontalAlignment="Left" Height="23" Margin="38,142,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="72"/>
            <TextBox Text="{Binding Number2, Mode=TwoWay}" HorizontalAlignment="Left" Height="23" Margin="154,142,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="72"/>
            <Button x:Name="AddButton" Command="{Binding AddCommand}" Content="=" HorizontalAlignment="Left" Margin="243,142,0,0" VerticalAlignment="Top" Width="37"/>
            <sdk:Label HorizontalAlignment="Left" Height="19" Margin="128,145,0,0" VerticalAlignment="Top" Width="15" Content="+"/>
            <sdk:Label Content="{Binding Result,Mode=TwoWay}" HorizontalAlignment="Left" Height="16" Margin="295,145,0,0" VerticalAlignment="Top" Width="71"/>
        </Grid>
    </UserControl>
    

     

  • 相关阅读:
    GAMIT中遇到的错误
    bash: ./install_software: Permission denied
    xmanager无法加载远程桌面
    GMT的安装
    小总结:Gamit中常见常用命令
    动态分配指针数组(以解决)
    Gamit使用gftp软件下载数据
    Python基础(1)
    JAVA中关于多线程的理解
    JAVA 基本绘图——利用JFrame JPanel 绘制扇形
  • 原文地址:https://www.cnblogs.com/aswordok/p/3641133.html
Copyright © 2011-2022 走看看