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