2011-05-24 62 views
0

无法分配SHIFT +删除KeyGesture到WPF中的DevExpress栏项目。这有没有什么限制,还是我错了?
<dxb:BarButtonItem
x:Name="btnDelete"
Command="{Binding BtnDelete_Command}"
CommandParameter="{Binding ElementName=view}"
KeyGesture="SHIFT+Delete"
Content="Delete" />
分配SHIFT +删除KeyGesture到DevExpress栏项目WPF

回答

3

这里是我试过的代码:

<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()); 
    } 
} 

它可以正常工作在这里。如果编辑器未聚焦,则执行该命令。如果编辑器是专注的,它自己处理这个组合键,从而不执行命令。

+0

谢谢你的回答..看起来没错。我怎么能让这个手势工作时,文本框是专注?(对不起,即时通讯新的wpf) – 0x49D1 2011-05-25 06:34:11