日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。BlendWPFやSilverlightは、外観をごっそり入れ替えたコントロールを作ることが出来ます。Blendだと、簡単にできます。これ、本当に簡単すぎてびっくりしました。いうことで、TextBoxの見た目を変えてみようと思います。流れとしては以下のようになります。必要な要素を追加するデザインしてみようとりあえず画面にTextBoxを、どんな形にするのか決めるための図形を置きます。Rightを置いて、それをTextBoxにしてみます。Rightを置いたところです。コントロールにしてみよう次に、コントロールに変換します。Rightを選択して右クリックメニューから「コントロールの作成」を選ぶだけです。コントロールの作成画面で、変換したいコントロールを選びます。今回の場合はTextBoxを選びます。以上で、TextBoxになります。テキストは入力できません。必要な要素を追加しようTextBoxを選択してOKを押すと、テンプレートの編集モードに切り替わります。デザイナの上部がTemplateという風になっています。ここに、ScrollViewerを追加してTextBoxのテキストを入力するためのエリアに設定します。ScrollViewerをアセットから選んで、矢印内に配置します。このScrollViewerをテキストを入力するための場所として設定します。ScrollViewerを右クリックして、「TextBoxパーツの作成」→「ContentElement」を選択します。すると、ScrollViewerがTextBoxのテキストを入力するエリアとして設定されます。デザイナ上でもTextBoxのTextプロパティの値が表示されています。見た目をかっこよく?してみようおまけで、TextBoxが選択状態になったら影を落とすようなエフェクトを追加しようと思います。これも簡単にできます。Rightにドロップします。オブジェクトとタイムラインに、以下のように表示されて、デザイナ上でも影がつきます。通常状態では見せたくないので、Opacityを0%にして影を表示させなくします。画面左上にある状態ウィンドウで、VisualStateの一覧が確認できるのでFocusedを選択します。すると赤い丸がFocusedの横とデザイナについて状態の変更を記録するモードに切り替わります。この状態になったら、さっき0%にしたDropShadowEffectのOpacityプロパティを100%に変更します。設定がおわったら状態ウィンドウでベースを選んで標準の状態に戻します。(変更の記録も終わります)仕上げ最後の仕上げに、ScrollViewerのBorderbrushを無しにして、枠線を消します。以上で、見た目をカスタマイズしたTextBoxの作成は終了です。別のテキストボックスへの見た目の適用ちなみに、ここで作成した見た目はリソースに切り出されているので別のTextBoxを置いて、右クリックメニューから「テンプレートの編集」→「リソースの適用」→「TextBoxStyle1」を選ぶことで簡単に適用できます。実行して動作確認ということで、実行して動作を確認してみます。上がフォーカスがある状態で、下がフォーカスがない状態です。いうことで、非常に簡単にいけてる?TextBoxが完成しました。非常に簡単でちょっとびっくりしました。C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。Blogの内容は個人の見解であり、所属する企業を代表するものではありません。)はてなブログをはじめよう!okazukiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。