1

TL;DR;

1.WPFでは、他のキーの文字や数字と一緒にシームレスに配置されるように、キー記号(バックスペースなど、私が発明するカスタム記号など)を表示するにはどうすればよいですか?

2.これらのキーのテキストにグロー効果を適用して、文字、数字、および記号 (バックスペースなど) が同じように光るようにするにはどうすればよいですか?

より長いバージョン;

各キーのアウトラインに Border を使用し、テキストを表示する TextBlock を使用して、WPF でオンスクリーン キーボードを作成しています。たとえば、「A」キーは次のように定義できます。

<Border>
  <Border.Tag>
    <KeyValue Key="A" Function="{x:Null}" />
  </Border.Tag>
  <TextBlock Text="A" />
</Border>

バックスペースなどのファンクション キーは次のようになります。

<Border>
  <Border.Tag>
    <KeyValue Key="{x:Null}" Function="{x:Static Functions.Backspace}" />
  </Border.Tag>
  <TextBlock Text="BACKSPACE" />
</Border>

Return、Backspace、Shift、Caps Lock などの特殊キーについては、"Return"/"Enter" ではなく ⏎ などの記号を表示することをお勧めします。また、Unicode 文字リストに存在しないカスタム文字を必要とするカスタム キーもあります。

Unicode には標準文字の定義が含まれていることがわかりました (下のリンクをチェックしてください。下にスクロールしすぎてブラウザーをクラッシュさせない場合に非常に便利です)。

http://unicode-table.com/en/search/?q=return

たとえば、これにより ⏎ = U+23CE または ⏎ が返されます。

私の問題:

  1. これらの外字を含まないフォントを使用します。この記事では、Unicode のコア文字のみがほとんどのフォントでカバーされていることを示唆しています。

http://www.typography.com/faq/question.php?faqID=41

  1. カスタムシンボル(私が発明します)を使用したいので、とにかくUnicode文字は私の要件を完全に満たすことができませんでした.

  2. シンボルのベクター グラフィックスを作成するルートをたどる場合、どこから始めればよいかわかりません。すべてのキー (文字、数字、記号) で発生し、キーが「押された」ときにトリガーされるグロー アニメーションをサポートする必要があります。BitmapEffects は、.Net 3.5 以降、ソフトウェア レンダリングにより廃止されました。以下の記事では、DropShadowEffect を使用することを提案しています。キーを光らせるために同じアプローチを使用できるようにするには、どのようにシンボルを作成すればよいですか?

BitmapEffect を使用しない OuterGlowBitmapEffect の代替

読んでくれてありがとう。ユリウス

キータグにキー値がどのように格納されるかのより明確な例を含めるために編集されました。

4

2 に答える 2

1

キープレスイベントの処理方法によって異なります。

  • コマンドにバインドしている場合は、コマンド パラメータを使用して実際のキー値を制御し、表示されているものから切り離すことができます。
  • または、イベント ハンドラーでこれを行う場合は、ハンドラーで検査できる Tag などのボタン プロパティを使用します。

次に、テキスト ボックスのボタンの内容を、カスタム キーを表すことができる別のものに置き換えます。画像が機能します。テキスト ボックスに適用される同じ効果がサポートされるため、パスの方が適しています。

于 2014-07-17T14:49:17.770 に答える