当我实现ICommand
接口时,会创建以下方法
#region ICommand Members
public bool CanExecute(object parameter)
{
}
public event EventHandler CanExecuteChanged;
public void Execute(object parameter)
{
}
#endregion
有趣的部分是
public void Execute(object parameter)
{
}
仅仅是因为它表明它需要 1 个参数。如果我不需要传递参数怎么办?在我的 ViewModel 我有以下代码
public class DownloadViewModel : BaseViewModel
{
public ICommand BrowseForFile { get; set; }
public string File { get; set; }
public DownloadViewModel()
{
BrowseForFile = new RelayCommand(new Action<object>(OpenDialog));
}
private void OpenDialog(object o)
{
var dialog = new System.Windows.Forms.FolderBrowserDialog();
System.Windows.Forms.DialogResult result = dialog.ShowDialog();
File = dialog.SelectedPath;
}
}
该OpenDialog
方法不需要参数,但似乎我必须这样做才能满足接口。
我这样做是对的还是我错过了重点?