ApplicationCommands クラスを使用すると、無料で多くのものを取得できます。テキスト、ショートカット、ローカリゼーション。ただし、_ 表記 (E_xit など) で指定する文字を指定する方法があるようです (または、私は見つけていません)。たとえば、その文字を指定する方法はありますか
ApplicationCommands.New ?
または、これを使用してこれに対する唯一の解決策です
CustomRountedUICommand
name プロパティに _New を指定するだけでよいのはどこですか?
編集:
ここで私のxamlファイルの抽出を明確にするために:
<MenuItem Name="NewProject" Command="{Binding MenuNewProject}" />
MenuNewProject は、InputGesture が追加された ApplicationCommand.New です。しかし、メニュー ヘッダーを設定せずにアンダースコアを追加するにはどうすればよいでしょうか (これはコマンド バインディングによって既に行われています)。
編集2:
指摘されているように、これは明らかにメニューの問題です。問題は、アクセラレータ キーを指定するテキスト内の _ に代わるものはありますか? MenuItem クラスには何も見つかりませんでした。
最終的解決:
次のいずれかを使用します。
AccessKeyManager.Register('N',MenuItem)
しかし、示されている下線付きの N またはセットを緩めます
MenuItem.Header ='_New'
手動でローカリゼーションを失います。残念ながら、ApplicationCommands.New.Name を解析すると、常に英語の名前が返されます。ContentPresenter クラスを使用した解決策があるかもしれませんが、それは私の小さなプロジェクトでは少しやり過ぎです。