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按钮后数据列表会更新

 

下载源码

你可能感兴趣的:(windows phone)