接着之前的demo;接下来做个刷新按钮,用来更新好友列表;这里需要绑定一个Command给Button;当然这个Command是一个实现了ICommand接口的MainViewModel一个属性;
1、在ViewModel里添加RefreshCommand类
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
namespace HelloWp7.ViewModel
{
public class RefreshCommand:ICommand
{
private readonly MainViewModel _viewModel;
public RefreshCommand(MainViewModel viewModel)
{
_viewModel = viewModel;
}
public bool CanExecute(object parameter)
{
return true;
}
public event EventHandler CanExecuteChanged;
public void Execute(object parameter)
{
_viewModel.Refresh();
}
}
}
2、在ModelViewModel里添加刷新Command属性
public ICommand RefreshCommand
{
get;
private set;
}
3、在ModelViewModel添加Refresh数据处理
public void Refresh()
{
ObservableCollection<Friend> friends=new ObservableCollection<Friend>( friendService.GetFriendsSet());
this.Friends = friends; // 更新好友列表
}
4、页面添加刷新按钮,并添加事件绑定
<Button Canvas.Left="24" Canvas.Top="556" Command="{Binding RefreshCommand}" Content="Refersh" Height="72"
Name="btnRefresh" Width="160" />
运行后单击Refresh按钮后数据列表会更新