0

Behavior を使用してキーダウンをキャッチしようとしています

public class mONITORKeyDown : Behavior<UserControl>
    {

        public static readonly DependencyProperty _ShortCuts =
                    DependencyProperty.Register(
                        "ShortCuts",
                        typeof(Dictionary<Tuple<ModifierKeys, Key>, ICommand>),
                        typeof(BillingMangerKeyDown),
                        new PropertyMetadata( null));


        protected override void OnAttached()
        {
          // ShortCuts = new Dictionary<Tuple<ModifierKeys, Key>, ICommand>();
            AssociatedObject.KeyDown += _KeyBoardBehaviorKeyDown;
        }

        protected override void OnDetaching()
        {

            AssociatedObject.KeyDown -= _KeyBoardBehaviorKeyDown;
        }



        void _KeyBoardBehaviorKeyDown(object sender, KeyEventArgs e)
        {
            if(Keyboard.Modifiers == KeyModifiers.Control && e.Key==Key.Down)

        }
        }

問題は、 cntrl をクリックするとイベントが発生し、Enter + 下矢印をクリックした後、何も機能しないことです

4

1 に答える 1

1

私はそれがあなたを助けるはずだと思います!!!

  private void InvoiceGrid_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
    {

        if (Keyboard.Modifiers == ModifierKeys.Control)
        {
            ((ResolutionVM)this.DataContext).PrepareListForMassUpdate();
        }
        else
        {
            ((ResolutionVM)this.DataContext).ClearListForMassUpdate();
        }

    }
于 2013-01-09T09:21:33.680 に答える