MESCIUS InputMan for WPF 3.0J
テキストボックスの使い方

このトピックでは、コンボコントロールのテキストボックス部分の使用方法について解説します。

テキストの編集

テキストボックスへの入力を許可し編集を可能にするには、IsEditable プロパティを True にします。 また、IsReadOnly プロパティは、IsEditable プロパティの値が True の場合にテキストボックスの編集を許可するかどうかを設定します。 IsReadOnly プロパティが True に設定され、テキストボックスが読み取り専用の場合も IsSelectable プロパティが True の場合は、ドロップダウンリストから項目を選択することが可能です。

なお、IsReadOnly プロパティが True でも、IsSelectable プロパティが True に設定されている場合は、 ドロップダウンリストから項目を選択することで、テキストを変更することが可能です。

IsEditableIsReadOnlyIsSelectable プロパティの設定によるテキスト値の操作については、下表を参照してください。

  IsReadOnly が True IsReadOnly が False
IsEditable が True IsSelectable が True
  • リストボックスから GcComboBox 内の項目を選択できる。
  • テキストボックス内の文字を入力、編集できない。
  • テキストボックス内の文字列の一部を選択できる。
  • テキストボックス内の文字列をコピーすることはできるが、文字列をテキストボックスに貼り付けることはできない。
  • リストボックスから GcComboBox 内の項目を選択できる。
  • テキストボックス内の文字を編集できる。
  • GcComboBox 内の項目に対応しない文字列を入力できる。
  • テキストボックス内の文字列の一部を選択できる。
  • テキストボックス内の文字列をコピーでき、また貼り付けることもできる。
IsSelectable が False
  • リストボックスから GcComboBox 内の項目を選択できない。
  • テキストボックス内の文字を入力、編集できない。
  • テキストボックス内の文字列の一部を選択できる。
  • テキストボックス内の文字列をコピーすることはできるが、文字列をテキストボックスに貼り付けることはできない。
  • リストボックスから GcComboBox 内の項目を選択できない。
  • テキストボックス内の文字を編集できる。
  • GcComboBox 内の項目に対応しない文字列を入力できる。
  • テキストボックス内の文字列の一部を選択できる。
  • テキストボックス内の文字列をコピーでき、また貼り付けることもできる。
IsEditable が False IsSelectable が True
  • リストボックスから GcComboBox 内の項目を選択できる。
  • テキストボックス内の文字を入力、編集できない。
  • テキストボックス内の文字列の一部を選択できない。
  • テキストボックス内の文字列をコピーまたは貼り付けできない。
IsSelectable が False
  • リストボックスから GcComboBox 内の項目を選択できない。
  • テキストボックス内の文字を入力、編集できない。
  • テキストボックス内の文字列の一部を選択できない。
  • テキストボックス内の文字列をコピーまたは貼り付けできない。
編集可能なテキストエリアのスタイルを設定する

IsEditable プロパティが True に設定された編集可能なテキストボックスの背景を変更するには、EditableBackground プロパティを使用します。詳細な描画スタイルを設定するには、EditBoxStyle プロパティを使用します。このスタイルは Style 型となっており、コントロール単位で設定したり、リソースディクショナリのリソースとして宣言したりすることができます。

デフォルトのターゲットの型は、TextBox です。EditableTemplate プロパティを使用して、編集可能なテキストボックス部のテンプレートを変更した場合は、変更後の型となります。

以下のサンプルコードは、編集可能なテキストボックスのフォントサイズとテキスト配置を設定します。

' テキストエリアを編集可能にします。
GcComboBox1.IsEditable = True

' 新規スタイルオブジェクトを作成します。
Dim style As New Style(GetType(TextBox))

' テキストのフォントサイズを 16 に、テキスト配置を右端に設定します。
style.Setters.Add(New Setter(TextBox.FontSizeProperty, 16.0))
style.Setters.Add(New Setter(TextBox.TextAlignmentProperty, TextAlignment.Right))

' テキストエリアにスタイルを割り当てます。
GcComboBox1.EditBoxStyle = style
// テキストエリアを編集可能にします。
GcComboBox1.IsEditable = true;

// 新規スタイルオブジェクトを作成します。
var style = new Style(typeof(TextBox));

// テキストのフォントサイズを 16 に、テキスト配置を右端に設定します。
style.Setters.Add(new Setter(TextBox.FontSizeProperty, 16.0));
style.Setters.Add(new Setter(TextBox.TextAlignmentProperty, TextAlignment.Right));

// テキストエリアにスタイルを割り当てます。
GcComboBox1.EditBoxStyle = style;
<im:GcComboBox IsEditable="True">
  <im:GcComboBox.EditBoxStyle>
    <Style TargetType="TextBox">
      <Setter Property="FontSize" Value="16" />
      <Setter Property="TextAlignment" Value="Right" />
    </Style>
  </im:GcComboBox.EditBoxStyle>
</im:GcComboBox>
関連トピック

 

 


© MESCIUS inc. All rights reserved.