Clicky

Welcome to MSDN Blogs Sign in | Join | Help

develop .net

デベロッパー エバンジェリストの 大野です。

News

  • This blog is in Japanse only. コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。
Silverlight 1.0 で日本語を入力する

前エントリは、デフォルトでは日本語表示に対応していない Silverlight で、無理やり日本語を表示(描画)する方法についてご説明しました。では、日本語の入力も何とかならないでしょうか。実のところ、現在の Silverlight 1.0 では、キーもマウスも「入力」に関する機能は、限定されたものしかなく、WPF(Windows Presentation Foundation)の TextBox のような入力コントロールはありません。アルファベットであれば、1文字ずつキー入力を処理することもできますが、かな漢字変換が必要な日本語の入力はできません。

しかし、前エントリで html の <input> 要素で入力した日本語文字列を描画したように、Silverlight では JavaScript を使って html DOM とも Silverlight オブジェクトともやりとりができます。つまり、html と Silverlight を「重ね合わせ」てしまえば、あたかも Silverlight 上で日本語を入力しているかのように見せることができます。これは、前エントリを少し加工するだけで実現できます。

具体的には、Silverlight オブジェクトを生成する際に isWindowless: 'true' という属性を指定した上で、silverlightPlugInHost(ホストコントロールのID)や input 要素(id=Text1)、button要素(id=Button1)に対して、以下のようなスタイルを割り当てています。

#silverlightPlugInHost {
 top: 10px;
 left: 0px;
 height: 480px;
 width: 640px;
 position: absolute;
 z-index: 0;
}

#Text1
{
 top: 14px;
 left: 100px;
    width: 190px;
    background: transparent;
    position: absolute;
    z-index: 1;
}

#Button1
{
 top: 10px;
 left: 320px;
    width: 60px;
    position: absolute;
    z-index: 1;
}

実装例はこちらをご覧ください→ http://develop.net/samples/disptext2/

Posted: Wednesday, December 19, 2007 4:57 PM by mohno
Filed under:

Comments

No Comments

Anonymous comments are disabled
Page view tracker