WPF MVVM示例讲解

2019-12-26 13:10:24刘景俊

OpenFileCommand:

 

 
  1. public class OpenFileCommand : ICommand  { 
  2. private MainViewModel _data;  public OpenFileCommand(MainViewModel data) 
  3. {  _data = data; 
  4. }  public event EventHandler CanExecuteChanged; 
  5. public bool CanExecute(object parameter)  { 
  6. return true;  } 
  7. public void Execute(object parameter)  { 
  8. OpenFileDialog dialog = new OpenFileDialog() { Filter = "Image Files|*.jpg;*.png;*.bmp;*.gif" };  if(dialog.ShowDialog().GetValueOrDefault()) 
  9. {  _data.ImagePath = dialog.FileName; 
  10. }  } 

ZoomCommand:

 

 
  1. public enum ZoomType  { 
  2. ZoomIn = 0,  ZoomOut = 1, 
  3. Normal = 2  } 
  4. public class ZoomCommand : ICommand  { 
  5. private MainViewModel _data;  public ZoomCommand(MainViewModel data) 
  6. {  _data = data; 
  7. }  public event EventHandler CanExecuteChanged 
  8. {  add { CommandManager.RequerySuggested += value; } 
  9. remove { CommandManager.RequerySuggested -= value; }  } 
  10. public bool CanExecute(object parameter)  { 
  11. return _data.ImagePath != null;  }