簡體   English   中英

uwp中的RoutedCommand替換

[英]RoutedCommand replacement in uwp

我需要在自定義控件中創建一個RoutedCommand。 我在wpf中使用過RoutedCommands,但是在uwp中沒有RoutedCommand類。 替代什么呢?

[編輯]似乎RoutedCommand支持的整個CommandBinding不在uwp中了! 由於還不存在由FrameworkElement https://msdn.microsoft.com/zh-cn/library/ms752070(v=vs.100).aspx實現的IInputElement

答案可能是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();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM