本文介绍了relay命令在Windows 8 Windows应用商店的应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 有RelayCommand的版本,因为命令管理是不是在win8的地铁应用程序可用?Is there a version of RelayCommand, since CommandManager is not available in win8 metro apps?推荐答案有一个版本这里。using System;using System.Diagnostics;#if METROusing Windows.UI.Xaml.Input;using System.Windows.Input;#elseusing System.Windows.Input;#endifnamespace MyToolkit.MVVM{#if METRO public class RelayCommand : NotifyPropertyChanged, ICommand#else public class RelayCommand : NotifyPropertyChanged<RelayCommand>, ICommand#endif { private readonly Action execute; private readonly Func<bool> canExecute; public RelayCommand(Action execute) : this(execute, null) { } public RelayCommand(Action execute, Func<bool> canExecute) { if (execute == null) throw new ArgumentNullException("execute"); this.execute = execute; this.canExecute = canExecute; } bool ICommand.CanExecute(object parameter) { return CanExecute; } public void Execute(object parameter) { execute(); } public bool CanExecute { get { return canExecute == null || canExecute(); } } public void RaiseCanExecuteChanged() { RaisePropertyChanged("CanExecute"); if (CanExecuteChanged != null) CanExecuteChanged(this, new EventArgs()); } public event EventHandler CanExecuteChanged; } public class RelayCommand<T> : ICommand { private readonly Action<T> execute; private readonly Predicate<T> canExecute; public RelayCommand(Action<T> execute) : this(execute, null) { } public RelayCommand(Action<T> execute, Predicate<T> canExecute) { if (execute == null) throw new ArgumentNullException("execute"); this.execute = execute; this.canExecute = canExecute; } [DebuggerStepThrough] public bool CanExecute(object parameter) { return canExecute == null || canExecute((T)parameter); } public void Execute(object parameter) { execute((T)parameter); } public void RaiseCanExecuteChanged() { if (CanExecuteChanged != null) CanExecuteChanged(this, new EventArgs()); } public event EventHandler CanExecuteChanged; }} 这篇关于relay命令在Windows 8 Windows应用商店的应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
07-14 12:59