文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Silverlight中使用MVVM

Silverlight中使用MVVM

时间:2010-08-20  来源:雷雷

今天在园子看到一篇关于MVVM的文章,顺便实践了下,代码如下:

Model:

 

 public class Person
{
public int age { get; set; }
public string name { get; set; }
}

 

 

 

代码
using System.ComponentModel;
using System.Collections.ObjectModel;
public class Persons
{
public List<Person> person;
public List<Person> getPerson()
{
person
= new List<Person>()
{
new Person{name="Yuanyuan",age=23},
new Person{name="Yoyo",age=28},
new Person{name="Me",age=30}

};
return person;
}
}

ViewModel:

 

代码
 using sl20100820.Model;
using System.Collections.Generic;
using System.ComponentModel;
using System.Collections.ObjectModel;
public class PageViewModel:INotifyPropertyChanged
{
public List<Person> Human { get; set; }
public PageViewModel()
{
Human
= new Persons().getPerson();
}
private Person _getOnePerson;
public Person GetOnePerson
{
get { return _getOnePerson;}
set {_getOnePerson=value;
if(PropertyChanged !=null)
{
PropertyChanged(
this,new PropertyChangedEventArgs("GetOnePerson"));

}
}
}
public event PropertyChangedEventHandler PropertyChanged;
}

 

 

View:

 

代码
<UserControl x:Class="sl20100820.View.PageView"
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"
mc:Ignorable
="d"
d:DesignHeight
="300" d:DesignWidth="400" xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data">

<Grid x:Name="LayoutRoot" Background="White">
<data:DataGrid AutoGenerateColumns="True" ItemsSource="{Binding Human}" SelectedItem="{Binding GetOnePerson,Mode=TwoWay}"
Height
="200" HorizontalAlignment="Left" Margin="41,65,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="200" />
<TextBox Text="{Binding GetOnePerson.age,Mode=OneWay}" Height="23" HorizontalAlignment="Left" Margin="247,149,0,0" Name="textBox1" VerticalAlignment="Top" Width="120" />
<TextBox Text="{Binding GetOnePerson.name,Mode=OneWay}" Height="23" HorizontalAlignment="Left" Margin="247,191,0,0" Name="textBox2" VerticalAlignment="Top" Width="120" />

</Grid>
</UserControl>

 

MainPage

 

代码
<UserControl x:Class="sl20100820.MainPage"
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"
mc:Ignorable
="d"
xmlns:model
="clr-namespace:sl20100820.ViewModel" xmlns:view="clr-namespace:sl20100820.View"
d:DesignHeight
="300" d:DesignWidth="400">

<UserControl.Resources>
<model:PageViewModel x:Key="page"/>
</UserControl.Resources>
<Grid Name="gridView1" Background="White" DataContext="{StaticResource page}">
<view:PageView></view:PageView>
</Grid>
</UserControl>

 

 

View in browser:

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载