C# uwp中的RoutedCommand替换
我需要在自定义控件中创建RoutedCommand。我在wpf中使用了RoutedCommand,但在uwp中没有RoutedCommand类。这个的替代品是什么 [编辑]RoutedCommand支持的整个CommandBinding似乎都在uwp中消失了!因为也不存在由FrameworkElement实现的IIInputElementC# uwp中的RoutedCommand替换,c#,xaml,win-universal-app,C#,Xaml,Win Universal App,我需要在自定义控件中创建RoutedCommand。我在wpf中使用了RoutedCommand,但在uwp中没有RoutedCommand类。这个的替代品是什么 [编辑]RoutedCommand支持的整个CommandBinding似乎都在uwp中消失了!因为也不存在由FrameworkElement实现的IIInputElement 答案可能是RelayCommand,它也实现了ICommand public class RelayCommand : ICommand { priv
答案可能是RelayCommand,它也实现了ICommand
public class RelayCommand : ICommand
{
private Action _handler;
public RelayCommand(Action handler)
{
_handler = handler;
}
public RelayCommand(Action handler, Func<bool> p) : this(handler)
{
this.p = p;
}
private bool _isEnabled;
private Func<bool> p;
public bool IsEnabled
{
get { return _isEnabled; }
set
{
if (value != _isEnabled)
{
_isEnabled = value;
if (CanExecuteChanged != null)
{
CanExecuteChanged(this, EventArgs.Empty);
}
}
}
}
public bool CanExecute(object parameter)
{
//return IsEnabled;
return true;
}
public event EventHandler CanExecuteChanged;
public void Execute(object parameter)
{
_handler();
}
}
公共类RelayCommand:ICommand
{
私人行动;
公共RelayCommand(操作处理程序)
{
_handler=handler;
}
public RelayCommand(操作处理程序,Func p):此(处理程序)
{
这个,p=p;
}
私人住宅已启用;
私人职能;
公共场所被禁止
{
获取{return}
设置
{
如果(值!=\u已启用)
{
_isEnabled=值;
如果(CanExecuteChanged!=null)
{
CanExecuteChanged(此为EventArgs.Empty);
}
}
}
}
公共布尔CanExecute(对象参数)
{
//返回被禁止;
返回true;
}
公共事件处理程序CanExecuteChanged;
public void Execute(对象参数)
{
_handler();
}
}
这只是ICommand
的一个简单实现。作者询问了关于RoutedCommand
,它在可视化树中传播。