0

次のように、編集モードをアクティブにするためのショートカットとして F6 が機能することを意図した InputBinding があります。

<Window.InputBindings>
    <KeyBinding Gesture="F6" Command="{Binding Path=ActivateEdit}"/>
</Window.InputBindings>

ボタン自体は次のようになります。

<ToggleButton Height="26" Width="26" Margin="0,0,1,1" Padding="1" 
                            ToolTip ="Bearbeiten (F6)" 
                            Command="{Binding ActivateEdit}"               
                            IsChecked="{Binding IsEditPressed, Converter={StaticResource boolToNullableBoolConverter}}"
                            IsTabStop="False" BorderThickness="0" BorderBrush="{x:Null}" Focusable="False">
    <Image Source="/Images/Edit.ico" Stretch="Fill" Height="16" Width="16"/>
</ToggleButton>

ボタンを手動で押すと、コマンドがトリガーされます。また、ユーザーが F6 を押した場合。ただし、その場合、ボタンは IsChecked 状態になりません。KeyBinding に別のコマンドをコーディングせずにこれを達成するにはどうすればよいですか?

4

1 に答える 1

1

コマンドでプロパティを「トグル」しIsEditPressedます。理想的には、これが実行する必要がある唯一のことであり、すべての同期を維持しやすくなります。バインディングで十分なので、コマンドToggleButton自体は必要ありません。IsChecked

于 2012-04-12T06:53:32.630 に答える