BindingBase.StringFormat プロパティ


バインドされている値が文字列として表示される場合に、バインディングの書式を指定する文字列を取得または設定します。Gets or sets a string that specifies how to format the binding if it displays the bound value as a string.

 property System::String ^ StringFormat { System::String ^ get(); void set(System::String ^ value); };
public string StringFormat { get; set; }
member this.StringFormat : string with get, set
Public Property StringFormat As String


バインドされている値が文字列として表示される場合に、バインディングの書式を指定する文字列。A string that specifies how to format the binding if it displays the bound value as a string.

次の例では、StringFormat プロパティを使用して、Price(Double) を通貨を表す文字列に変換します。The following example uses the StringFormat property to convert Price, which is a Double, to a string that represents a currency.

<ListView ItemsSource="{StaticResource MyData}">
      <GridViewColumn DisplayMemberBinding="{Binding Path=Description}"/>
      <GridViewColumn DisplayMemberBinding="{Binding Path=Price, StringFormat=Now {0:c}!}"/>

次の例では、MultiBindingStringFormat プロパティを使用して、ListBox内の各項目の Description および Price を含む文字列を作成します。The following example uses the StringFormat property on a MultiBinding to build a string that includes the Description and Price of each item in a ListBox.

<ListBox ItemsSource="{StaticResource MyData}">

          <MultiBinding  StringFormat="{}{0} -- Now only {1:C}!">
            <Binding Path="Description"/>
            <Binding Path="Price"/>


StringFormat には、定義済み、複合、またはカスタムの文字列形式を使用できます。StringFormat can be a predefined, composite, or custom string format. 文字列形式の詳細については、「型の書式設定」を参照してください。For more information about string formats, see Formatting Types.

ConverterStringFormat のプロパティを設定すると、最初にコンバーターがデータ値に適用され、その後 StringFormat が適用されます。If you set the Converter and StringFormat properties, the converter is applied to the data value first, and then the StringFormat is applied.

BindingStringFormat を複合文字列形式に設定する場合は、パラメーターを1つだけ指定できます。When you set the StringFormat on a Binding to a composite string format, you can specify only one parameter.

MultiBindingを使用する場合、StringFormat プロパティは MultiBindingに設定されている場合にのみ適用されます。When you use a MultiBinding, the StringFormat property applies only when it is set on the MultiBinding. Binding オブジェクトに設定されている StringFormat の値は無視されます。The value of StringFormat that is set on any child Binding objects is ignored. 複合文字列形式のパラメーターの数は、MultiBinding内の子 Binding オブジェクトの数を超えることはできません。The number of parameters in a composite string format cannot exceed the number of child Binding objects in the MultiBinding.

PriorityBindingを使用する場合は、PriorityBinding、子バインドオブジェクト、またはその両方で StringFormat を設定できます。When you use a PriorityBinding, you can set the StringFormat on the PriorityBinding, on child binding objects, or both. 適用される子バインディングに StringFormat が設定されている場合、その値が使用されます。If the StringFormat is set on the child binding that is applied, that value is used. 適用される子バインドで StringFormat が設定されていない場合は、PriorityBindingStringFormat が設定されている場合に適用されます。If the StringFormat is not set on the child binding that is applied, the StringFormat of the PriorityBinding is applied if it is set.