将Shift + Delete KeyGesture分配给DevExpress栏项目WPF

问题描述

|| 无法将SHIFT + Delete KeyGesture分配给WPF中的DevExpress条项目。是否对此有任何限制?或者我做错了吗?  
<dxb:BarButtonItem
x:Name=\"btnDelete\"
Command=\"{Binding BtnDelete_Command}\"
CommandParameter=\"{Binding ElementName=view}\"
KeyGesture=\"SHIFT+Delete\"
Content=\"Delete\" />
    

解决方法

这是我尝试的代码:
    <dxb:BarManager>
        <dxb:BarManager.Items>
            <dxb:BarButtonItem x:Name=\"btnDelete\" Command=\"{Binding BtnDelete_Command}\" CommandParameter=\"{Binding ElementName=view}\" KeyGesture=\"SHIFT+Delete\" Content=\"Delete\" />
        </dxb:BarManager.Items>
        <dxb:BarManager.Bars>
            <dxb:Bar>
                <dxb:Bar.ItemLinks>
                    <dxb:BarButtonItemLink BarItemName=\"btnDelete\"/>
                </dxb:Bar.ItemLinks>
            </dxb:Bar>
        </dxb:BarManager.Bars>
        <StackPanel>
            <Button Content=\"sdgsdg\" />
            <TextBox x:Name=\"view\"/>
        </StackPanel>
    </dxb:BarManager>



public partial class MainWindow : Window {
    public ICommand BtnDelete_Command { get; set; }
    public MainWindow() {
        BtnDelete_Command = new MyCommand();
        DataContext = this;
        InitializeComponent();
    }
}

public class MyCommand : ICommand {
    public bool CanExecute(object parameter) {
        return true;
    }

    public event EventHandler CanExecuteChanged {
        add { CommandManager.RequerySuggested += value; }
        remove { CommandManager.RequerySuggested -= value; }
    }

    public void Execute(object parameter) {
        MessageBox.Show(parameter.GetType().ToString());
    }
}
它在这里正常工作。如果编辑器未集中精力,则执行命令。如果编辑器集中精力,它将自己处理此组合键,因此不会执行命令。