3


2

WPFの主なヒント

Office 2007とリボンは、 "http://blogs.msdn.com/outlook/archive/2008/10/20/ribbon-key-tips.aspx[Key Tips]"の概念を導入しました。

_ _ 要するに、リボン内のすべてのコマンドは、そのコマンドをアクティブにするために押すことができる文字を受け取ります。 …​ 文字は小さい「KeyTips」で示されています。これは、コントロールをアクティブにするために押す文字を示しています。 キーヒントはAltキーを使用して表示されるので、それらを使用することはWindowsでメニューナビゲーションがどのように機能するかに似ています。

(出典:http://blogs.msdn.com/jensenh/archive/2006/04/12/574930.aspx) _ _

主なヒントの例を以下に示します。 この図では、使用者がALTキーを押しており、さらなる入力を待っている。

「重要なヒント」のWPFオープンソースの例はありますか?*

この機能のようなものを一般的な方法でどのように実装しますか(例: リボンを必要としませんか? どのようにしてMVVMパターンを使用してこれを実装しますか(ICommandがInputBindingsをサポートしていないと仮定した場合)。

注:ActiProはhttp://www.actiprosoftware.com/Products/DotNet/WPF/Ribbon/KeyTips.aspx [リボン]の実装でこの機能を実装しましたが、ソースコードをリリースしていません。

2 Answer


2


まず、MicrosoftのWPFツールキットのhttp://wpf.codeplex.com/Wiki/View.aspx?title=WPF%20Ribbon%20Preview[Ribbon Preview]を確認してください。

または、一般的な方法の1つは次のようになります。

  1. あなたのウィンドウ/トップレベルコントロールで `+ DependencyProperty `を作ります ` IsShowingKeyTips +`のようにトリガーできます。 あなたが適切だと思うようにこれを反転するキーボード入力をキャッチします。

  2. 1)のような2つの依存関係プロパティを持つ + ContentControl +`を作成します `+ IsShowingKeyTip +`および2) `+ KeyTipText +。 これを「+ KeyTipContentControl +」と呼びましょう。

  3. `+ ContentControl `の ` ControlTemplate `を編集して、 欲しいです。 それを ` Canvas `またはお気に入りのレイアウトコンテナにし、いくつかのバインディングを使用して適切なサイズにし、負の ` Margin +`値をスローする場合があります。

  4. あなたが空想になりたいなら、いくつかの `+ AttachedProperties `を ` KeyTip.Text `を使用して、プレーンコントロールから ` KeyTipContentControl +`にバブルアップします。

  5. XAMLで、 `+ Controls `の周りに ` ContentControls +`を配置します KeyTipsをオンにします。 必要に応じてバインディングを設定してください。

あなたはトップレベルでこのようなものになってしまうでしょう:


キープレスをエレガントな方法で処理することは、私が今のところ考えていることではありません。 :-)


2


http://fluent.codeplex.com[Fluent Ribbon Control Suite]を使用するだけです(無料です)。