2015年7月1日水曜日

SilverlightでのTextBox入力時IMEの制御


System.Windows.Input.InputMethod 型を利用して、TextBoxコントロール入力時、IME(Input Method Editor)を制御できます。

IME のような入力方法を制御するために InputMethod というクラスが用意されています。たとえば、現在の IME の状態を取得したり、設定したりするためには以下の
  • InputMethod.PreferredImeConversionMode
  • InputMethod.IsInputMethodEnabled
  • InputMethod.PreferredImeState
という3つの添付プロパティをつけることで実現できます。


(1) InputMethod.IsInputMethodEnabled
「半角/全角漢字」キー有効・無効の切り替え
falseだと、「半角/全角漢字」が使えなくなります。


(2) InputMethod.PreferredImeState
ONだとデフォルトは「あ」で入力する、OFFだとデフォルトは「A」で入力する(日本語入力OFF)。
「半角/全角漢字」キーは有効の状態です。

(3) InputMethod.PreferredImeConversionMode
IMEの変換方式を指定できます。
Katakanaとかを指定すると、カタカナ入力になります。
詳しく下記のMSDN情報を参考ください。
http://msdn.microsoft.com/ja-jp/library/system.windows.input.imeconversionmodevalues.aspx



 カタカナ入力の例:
<TextBox InputMethod.IsInputMethodEnabled="True" InputMethod.PreferredImeConversionMode="Katakana" InputMethod.PreferredImeState="On" />

TextBox testBox1 = new TextBox(); testBox1.SetValue(InputMethod.IsInputMethodEnabledProperty, True); testBox1.SetValue(InputMethod.PreferredImeConversionModeProperty, ImeConversionModeValues.Katakana); testBox1.SetValue(InputMethod.PreferredImeStateProperty, InputMethodState.On);


【参考URL】
http://tuotehhou.y.ribbon.to/index.php?%2BSL%2BTextBox%E5%85%A5%E5%8A%9B%E6%99%82IME%E3%81%AE%E5%88%B6%E5%BE%A1

https://code.msdn.microsoft.com/windowsdesktop/XAML-WPF-IME-Windows-WPF-9ef457d7

0 件のコメント:

コメントを投稿