Hotkey commands for Silverlight in MVVM?

前端 未结 3 911
猫巷女王i
猫巷女王i 2021-02-04 15:30

I\'m trying to fire commands based on keystrokes in Silverlight. As I understand you cannot use AccessKey or AcceleratorKey in Silverlight. Also it looks like the might be helpf

3条回答
  •  [愿得一人]
    2021-02-04 16:11

    It sounds like you're looking for a "codeless" MVVMish way of handling the KeyUp/KeyPress/KeyDown event.

    Option #1: Prism.
    You've mentioned it only ships with the Click command. However, you can add your own attached DPs to enable commands for whatever event you'd like (like KeyUp/KeyDown/KeyPress).

    If you're looking for a sample on that Corey has a good one for ToggleButton.Checked/Unchecked events.
    http://www.85turns.com/2009/06/24/togglebutton-command-for-prism/

    
    

    Also, Erik Mork has an excellent video that gives you a good overview on commands and how to create a custom command Attached DP. http://development-guides.silverbaylabs.org/Video/Prism-Commands

    Option #2: Blend Triggers
    The Expression Blend SDK ships with Triggers and Behaviours that are spot on to what you're try to do.
    Blend Examples codeplex project ships with a EventTrigger you could use:

    
          
    
    

    Or, you could create your own custom Trigger for Key stroke events and do there whatever you'd like. Here's a sample:
    http://azurecoding.net/blogs/brownie/archive/2009/04/06/blend-behaviors-ftw.aspx

提交回复
热议问题