Silverlight 4におけるアプリケーション要件への挑戦 – IMEの制御

皆様、おはようございます!

木曜深夜のPDCパブリックビューイングではお世話になりました。参加して戴いた皆様、お疲れ様でした&どうもありがとうございました。

※ちなみにバンド演奏演奏は、当事者としてはやはり大変楽しかったです。プレゼンもそうですが演奏も、本番というのは全員の集中力がやはり発揮されるものですね。またの機会・・・を再び狙っておりますw。どうぞよろしくお願いいたします。

さて本日は、また小ネタ系ですので、後程もう一つ投稿予定ですが、IMEの制御という非常にシンプルなテーマをご紹介したいと思います。

Silverlight 4では、IMEの制御も可能です。これは実際にアプリケーションを作ってみてみましょう。Visual Studio 2010を起動し、新しいプロジェクトでSilverlightアプリケーションを選びます。

image

新しいSilverlightアプリケーションの作成

そして、下記のようにテキストボックスとボタンを、画面上にツールボックスから貼り付けて配置します。

image

画面へのテキストボックスとボタンの配置

ボタン(button1)をダブルクリックして、イベントハンドラに下記のロジックを追加します。

リスト IME制御のロジック

 private void button1_Click(object sender, RoutedEventArgs e)
{
    System.Windows.Input.InputMethod.
        SetPreferredImeConversionMode 
 (textBox1, ImeConversionModeValues.Symbol);
 textBox1.Focus();
}

ここで行っている処理は、IMEの制御のターゲットとなるコントロール(ここではtextBox1)の指定と、ConversionMode(日本語のひらがなの場合にはSymbolを選択)指定です。

実行結果は下記の通りで、英数半角入力の途中でボタンを押すと、IMEがオンになり、ひらがなでかな漢字変換が可能になります。その次の行では、フォーカスが途中でボタンに移らないように、セットしています。

image

IME制御の動作の実行イメージ

このようにしてSilverlight上でもIME制御が動作していることがお分かり頂けると思います。

以上です。いかがでしょう?次の投稿はドラッグ&ドロップです。

鈴木 章太郎