執筆者: 極東 IT-Engineers 代表、わんくま同盟 森 博之

動作確認環境: .NET Framework 3.5, Visual Studio 2008

更新日: 2010 年 4 月 2 日


Code [XAML]

XAML
<Window x:Class="TextBox_WPF02.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <StackPanel>
        <!--ReadOnlyにするにはIsReadOnlyプロパティをTrueにします-->
        <TextBox FontSize="20" Margin="5" IsReadOnly="True" Text="IsReadOnly" />

        <!--IsReadOnlyは入力はできませんが、テキストの選択は行えます-->
        <TextBox FontSize="20" Margin="5" IsReadOnly="True" Text="IsReadOnly" />

        <!--IsEnabledをFalseにすることでコントロールそのものが利用できなくなります。-->
        <TextBox FontSize="20" Margin="5" IsEnabled="False" Text="IsEnabled" />
    </StackPanel>
</Window>
 

実行結果

ポイント

TextBox コントロールで ReadOnly にするには通常 IsReadOnly プロパティを指定します。

IsReadOnly プロパティの挙動はそのプロパティの名前通りでテキストの入力を行えなくするプロパティです。入力は行えなくなりますが、2 つめのコントロールのようにテキストそのものを選択することは可能ですので、選択テキストのコピーなどは可能です。

また、同様の挙動を行うものとして IsEnabled プロパティがあります。こちらはコントロールそのものの利用を制御するプロパティになります。

具体的には IsEnabled プロパティが False の場合、データの入力ができないのはもちろんのこと、テキストの選択やフォーカスを設定できないなどさまざまな状態が制限されます。

実行結果のようにコントロールの表示も薄く表示されます。


Code Recipe Code Recipe

ページのトップへ