c# - wpf extending control with keyboard override -


i'm extending control canvas , adding own custom overrides mouseevents. curious know why basic override when user presses key on keyboard doesn't emit signal. how can make override work in wpf c#?

namespace canvasgraphdemo {     public class canvasgraph : canvas     {         public canvasgraph()         {         }          protected override void onkeydown(keyeventargs e)         {             base.onkeydown(e);             if (e.key == key.enter)             {                 console.writeline("context menu open");                 e.handled = true;             }         }      } } 

this work specific example. others noted, have make canvas focusable , focus it, receive keyboard events.

public class canvasgraph : canvas {     public canvasgraph()     {         focusable = true;         loaded += oncanvasgraphloaded;     }      private void oncanvasgraphloaded(object sender, routedeventargs routedeventargs)     {         focus();         loaded -= oncanvasgraphloaded;     }      protected override void onkeydown(keyeventargs e)     {         base.onkeydown(e);         if (e.key == key.enter)         {             console.writeline("context menu open");             e.handled = true;         }     } } 

Comments

Popular posts from this blog

authentication - Mongodb revoke acccess to connect test database -

r - Update two sets of radiobuttons reactively - shiny -

ios - Realm over CoreData should I use NSFetchedResultController or a Dictionary? -