0

WPFでは、次のようにボタンを作成できます。

<Button Name="Foo" Content="_Foo" />

F「F」の前の下線は、キーをボタンに関連付けFooます(「Foo」の「F」の下に下線を追加します)。

ただし、ツールバーの場合:

<ToolBar>
    <Button Name="Foo" Content="_Foo" />
</ToolBar>

これにより、テキスト「_Foo」のボタンが作成され、ホットキーは関連付けられません。

ツールバーボタンのホットキーを作成する組み込みの方法はありますか?

4

3 に答える 3

3

InputBindingsツールバーを含むウィンドウで使用します。具体的には、次のKeyBindingsようなものを作成します。

<Window.InputBindings>
    <KeyBinding Modifiers="Control" Key="S" Command="{Binding SaveCommand}"/>
</Window.InputBindings>

ICommandへのバインディングを使用する必要があり(MVVMを使用していますか?)、それをウィンドウに配置することで、ショートカットが「グローバル」であることを確認します。そうでない場合は、キーボードフォーカスが何であるかを心配する必要があります。ツールバーでは、通常、ツールチップでショートカットを示します。

<ToolBar>
    <Button ToolTip="Save (Ctrl+S)" Command="{Binding SaveCommand}">
</ToolBar>
于 2012-07-11T12:51:46.643 に答える
3

ボタンのツールバースタイルは通常の動作をオフにしますが、AccessTextをボタンのコンテンツとして明示的に指定することで強制的に元に戻すことができます。

<ToolBar>
    <Button Name="Foo">
        <AccessText>_Foo</AccessText>
    </Button>
</ToolBar>
于 2012-07-11T13:40:22.113 に答える
0

ツールバーコントロールに想定外の動作をさせようとしているようです。FocusableプロパティがFalseに設定されているため、キーボード入力を受け取らないため、キーボードを使用してボタンをアクティブにすることはできません。メニュー項目、ツールバーボタン、またはキーボードのいずれかでアクションを使用できるようにする必要があります。前に提案したように、コマンドとInputBindingsに移動します。

于 2016-01-14T22:18:01.043 に答える