windows phone7---MVVM事件绑定

接着之前的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按钮后数据列表会更新

 

下载源码

posted @ 2011-12-07 16:06  J默  阅读(608)  评论(2编辑  收藏  举报