.NET TIPS

[Silverlight 2]テキストボックス(TextBoxコントロール)で複数行を入力するには?[C#、VB]

デジタルアドバンテージ 遠藤 孝信
2009/05/07

 テキストボックス(TextBoxコントロール)で複数行入力を可能にしたい場合、WindowsフォームではMultilineプロパティをtrueに設定すればよいが、Silverlight 2で利用可能なTextBoxコントロール(System.Windows.Controls名前空間)には、そのようなプロパティは存在しない。代わりにAcceptsReturnプロパティを使用する*

* WindowsフォームのTextBoxコントロールにもAcceptsReturnプロパティは存在するが、機能は異なる。

 AcceptsReturnプロパティはその名前の通り、TextBoxコントロールが改行を受け入れるかどうかを示すプロパティで、これをTrueに設定することにより複数行が入力可能となる(既定値はFalse)。なおXAML上では、<TextBox>要素のAcceptsReturn属性として記述する。

 以下にAcceptsReturnプロパティを使用したサンプル・アプリケーションを示す。

AcceptsReturnプロパティを使用したサンプル・アプリケーション

 次のSilverlightコントロールは、TextBoxコントロールを使用したSilverlight 2のサンプル・アプリケーションである。下側のテキストボックスで、実際に改行が入力可能であることを試すことができる。

Microsoft Silverlight を取得
Silverlight 2のサンプル・アプリケーション
下側のテキストボックスで、実際に改行が入力可能であることを試すことができる。

 このアプリケーションのVisual Studio 2008プロジェクト(プロジェクト名は「AcceptsReturnSample」)内のPage.xamlの内容を以下に示す。

<UserControl x:Class="AcceptsReturnSample.Page"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Width="400" Height="300">

  <Grid x:Name="LayoutRoot" Background="LightYellow">
    <StackPanel Margin="10" >

      <TextBlock Margin="0,10,0,0">
        デフォルトのテキストボックス</TextBlock>
      <TextBox Height="110" />

      <TextBlock Margin="0,10,0,0">
        AcceptsReturn="True"</TextBlock>
      <TextBox Height="110" AcceptsReturn="True"/>

    </StackPanel>
  </Grid>
</UserControl>
Page.xaml

 次の画面は、上記のサンプル・アプリケーションで実際に文字列を入力している例である。


上記のサンプル・アプリケーションの実行画面

 この実行例からも分かるように、TextBoxコントロールでは長い行が入力された場合を考慮して、右端で折り返したり、スクロールバーを表示したりする処理が必要となる。これらについては別稿で解説予定だ。End of Article

カテゴリ:Silverlight 2 処理対象:TextBoxコントロール
使用ライブラリ:TextBoxコントロール(System.Windows.Controls名前空間)

この記事と関連性の高い別の.NET TIPS
[ASP.NET]DataGridコントロールの編集用テキストボックスを大きくするには?
TextBoxコントロールで32767文字以上のテキストを入力可能にするには?
[ASP.NET]DataGridコントロールの編集用テキストボックスをカスタマイズするには?
[ASP.NET]ビューステートに保存されるものは?
[ASP.NET AJAX]AutoCompleteコントロールでGoogleサジェスト風なオートコンプリート機能を実装するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間