>

tisdag 8 februari 2011

Ta bort snabbkommando

När du designar ditt program till att innehålla snabbkommandon kan du ibland råka på att använda ett kommando som har ett standard beteende i en speciell kontroll vilket gör att ditt kommando inte fungerar när just den kontrollen är i fokus. Vad är då lösningen till detta?

Tillexempelvis i en RichTextBox  finns snabbkommandot Ctrl+B för att använda fetstil på texten. Väljer du då att använda Ctrl+B som ett snabbkommando i ditt program har vi problem. Då kommer fetstil att aktiveras om du har RichTextBoxen i fokus istället för att ditt kommando körs.

<Window.InputBindings> 
        <KeyBinding Gesture="Ctrl+B" Command="MyCommands.Choose"/> 
</Window.InputBindings>

Det du behöver göra är att få RichTextBoxen att ignorera Ctrl+B vilket du gör genom att sätta en InputBinding på denna och ange att kommandot ApplicationCommands.NotACommand.

<RichTextBox> 
  <RichTextBox.InputBindings>
    <KeyBinding Gesture="Ctrl+B" Command="ApplicationCommands.NotACommand"/>
  </RichTextBox.InputBindings>  
</RichTextBox>

Inga kommentarer:

Skicka en kommentar