MESCIUS InputMan for WPF 3.0J > InputMan for WPF の使い方 > 数値コントロール > 書式を設定する > フィールドオブジェクトによる書式設定 |
このセクションでは、フィールドオブジェクトによる書式設定について説明します。
数値コントロールの書式には、入力用と表示用の2つがあり、それぞれ入力フィールドと表示フィールドを使って書式を設定します。
入力フィールドを設定するには、NumberFieldSet オブジェクトの各プロパティを使用します。一般的に数値の整数値、小数点、小数値は配置の順番が決まっているため、NumberFieldSet オブジェクトでは必要なフィールドオブジェクトと、それらを参照するためのプロパティがあらかじめ定義されており、ユーザーがフィールドオブジェクトを個別に追加または削除することはできません。
一方、表示フィールドを設定するには、DisplayFields プロパティが参照する NumberDisplayFieldCollection を使用します。NumberDisplayFieldCollection は、コントロール内の各フィールドを表す NumberDisplayField のコレクションを保持するクラスです。
入力時の書式を設定する入力フィールドには、次の4種類のフィールドが提供されており、これらのフィールドオブジェクトを使って書式を設定することができます。
また、表示フィールドでは、次の7種類のフィールドが提供されています。
表示書式を設定する NumberDisplayFieldCollection コレクションにフィールドオブジェクトを追加するには、Add メソッドまたは、AddRange メソッドを使用します。
以下のサンプルコードは、数値コントロールに表示書式を設定する例です。
' フィールドをクリアします。 GcNumber1.DisplayFieldSet.DisplayFields.Clear() ' 表示フィールドのオブジェクトを作成します。 Dim numberSignDisplayField1 As New NumberSignDisplayField("\", "\-") Dim numberIntegerPartDisplayField1 As New NumberIntegerPartDisplayField() Dim numberDecimalSeptorDisplayField1 As New NumberDecimalSeptorDisplayField() Dim numberDecimalPartDisplayField1 As New NumberDecimalPartDisplayField() Dim numberSignDisplayField2 As New NumberSignDisplayField("(税込)", "(税込)") ' フィールドをコレクションに追加してコントロールに表示書式を設定します。 GcNumber1.DisplayFieldSet.DisplayFields.AddRange(New NumberDisplayField() { numberSignDisplayField1, numberIntegerPartDisplayField1, numberDecimalSeptorDisplayField1, numberDecimalPartDisplayField1, numberSignDisplayField2 })
// フィールドをクリアします。 GcNumber1.DisplayFieldSet.DisplayFields.Clear(); // 表示フィールドのオブジェクトを作成します。 var numberSignDisplayField1 = new NumberSignDisplayField("\", "\-"); var numberIntegerPartDisplayField1 = new NumberIntegerPartDisplayField(); var numberDecimalSeptorDisplayField1 = new NumberDecimalSeptorDisplayField(); var numberDecimalPartDisplayField1 = new NumberDecimalPartDisplayField(); var numberSignDisplayField2 = new NumberSignDisplayField("(税込)", "(税込)"); // フィールドをコレクションに追加してコントロールに表示書式を設定します。 GcNumber1.DisplayFieldSet.DisplayFields.AddRange(new NumberDisplayField[] { numberSignDisplayField1, numberIntegerPartDisplayField1, numberDecimalSeptorDisplayField1, numberDecimalPartDisplayField1, numberSignDisplayField2 });
<im:GcNumber> <im:GcNumber.DisplayFieldSet> <im:NumberDisplayFieldSet> <im:NumberSignDisplayField NegativePattern="\-" PositivePattern="\" /> <im:NumberIntegerPartDisplayField> <im:NumberIntegerPartDisplayField.GroupSizes> <im:IntegerItem Value="3" /> </im:NumberIntegerPartDisplayField.GroupSizes> </im:NumberIntegerPartDisplayField> <im:NumberDecimalSeptorDisplayField /> <im:NumberDecimalPartDisplayField /> <im:NumberSignDisplayField NegativePattern="(税込)" PositivePattern="(税込)" /> </im:NumberDisplayFieldSet> </im:GcNumber.DisplayFieldSet> </im:GcNumber>
(図):上記サンプルコードを適用したコントロール
フィールドオブジェクトを NumberDisplayFieldCollection コレクションから削除するには、Remove メソッドまたは、RemoveAt メソッドを使用します。
以下のサンプルコードは、NumberDisplayFieldCollection コレクションの先頭のフィールドを削除する例です。
' コレクションの先頭のオブジェクトを削除します。
GcNumber1.DisplayFieldSet.DisplayFields.RemoveAt(0)
// コレクションの先頭のオブジェクトを削除します。
GcNumber1.DisplayFieldSet.DisplayFields.RemoveAt(0);
ここでは、数値コントロールの入力フィールドに設定可能な4種類のフィールドについて解説します。
接頭語/接尾語フィールド(NumberSignField)は、接頭語/接尾語のフィールドです。
プロパティ | 説明 |
---|---|
NegativePattern | 数値が負のときに表示する文字列を設定します。 |
PositivePattern | 数値が正のときに表示する文字列を設定します。 |
整数入力フィールド(NumberIntegerPartField)は、整数の入力フィールドです。
プロパティ | 説明 |
---|---|
GroupSeparator | 整数部の桁区切り記号として表示する文字を設定します。 |
GroupSizes | 整数部の桁区切りを行う桁数を取得または設定します。 |
MaxDigits | 整数部の最大桁数を取得または設定します。 |
MinDigits | 整数部の最小桁数を取得または設定します。 |
SpinIncrement | スピン動作の変化量を取得または設定します。 |
小数入力フィールド(NumberDecimalPartField)は、小数の入力フィールドです。
プロパティ | 説明 |
---|---|
MaxDigits | 小数部の最大桁数を取得または設定します。 |
MinDigits | 小数部の最小桁数を取得または設定します。 |
SpinIncrement | スピン動作の変化量を取得または設定します。 |
小数点フィールド(NumberDecimalSeparatorField)は、小数点のフィールドです。
プロパティ | 説明 |
---|---|
DecimalSeparator | 小数点に表示する文字を設定します。 |
ここでは、数値コントロールの表示フィールドに設定可能な7種類のフィールドについて解説します。
接頭語/接尾語の表示フィールド(NumberSignDisplayField)は、接頭語/接尾語のフィールドです。
プロパティ | 説明 |
---|---|
NegativePattern | 数値が負のときに表示する文字列を設定します。 |
PositivePattern | 数値が正のときに表示する文字列を設定します。 |
整数表示フィールド(NumberIntegerPartDisplayField)は、整数の表示フィールドです。
プロパティ | 説明 |
---|---|
GroupSeparator | 整数部の桁区切り記号として表示する文字を設定します。 |
GroupSizes | 整数部の桁区切りを行う桁数を取得または設定します。 |
MinDigits | 整数部の最小桁数を取得または設定します。 |
小数表示フィールド(NumberDecimalPartDisplayField)は、小数の表示フィールドです。
プロパティ | 説明 |
---|---|
MaxDigits | 小数部の最大桁数を取得または設定します。 |
MinDigits | 小数部の最小桁数を取得または設定します。 |
小数点フィールド(NumberDecimalSeparatorDisplayField)は、小数点を表示するフィールドです。
プロパティ | 説明 |
---|---|
DecimalSeparator | 小数点に表示する文字を設定します。 |
漢数字の表示フィールド(NumberDecimalGeneralFormatDisplayField)は、漢数字を表示するフィールドです。
プロパティ | 説明 |
---|---|
Pattern | 漢数字表記の形式を取得または設定します。 |
金額パターンの表示フィールド(NumberMoneyPatternDisplayField)は、金額の表示フィールドです。
プロパティ | 説明 |
---|---|
DecimalSeparator | 小数点記号を取得または設定します。 |
GroupSeparator | 整数部の桁区切り記号として表示する文字を取得または設定します。 |
Pattern | 書式文字列を取得または設定します。 |
リテラル文字表示フィールド(NumberLiteralDisplayField)は、リテラル文字の表示フィールドです。
プロパティ | 説明 |
---|---|
Text | リテラル文字列を設定します。 |