BindingBase.StringFormat プロパティ

定義

バインドされている値が文字列として表示される場合に、バインディングの書式を指定する文字列を取得または設定します。

public:
 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

プロパティ値

String

バインドされている値が文字列として表示される場合に、バインディングの書式を指定する文字列。

次の例では、このプロパティを StringFormat 使用して Price、通貨を Double表す文字列に変換します。

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

次の例では、a のプロパティをStringFormat使用して、Description Price ListBox.MultiBinding

<ListBox ItemsSource="{StaticResource MyData}">

  <ListBox.ItemTemplate>
    <DataTemplate>
      <TextBlock>
        <TextBlock.Text>
          <MultiBinding  StringFormat="{}{0} -- Now only {1:C}!">
            <Binding Path="Description"/>
            <Binding Path="Price"/>
          </MultiBinding>
        </TextBlock.Text>
      </TextBlock>
    </DataTemplate>
  </ListBox.ItemTemplate>
</ListBox>

注釈

StringFormat には、定義済み、複合、またはカスタムの文字列形式を指定できます。 文字列形式の詳細については、「 型の書式設定」を参照してください

プロパティとプロパティStringFormatConverter設定すると、最初にデータ値にコンバーターが適用され、次にコンバーターがStringFormat適用されます。

on をStringFormatBinding複合文字列形式に設定する場合は、パラメーターを 1 つだけ指定できます。

を使用 MultiBindingする場合、このプロパティは StringFormat MultiBinding. 子オブジェクトにBinding設定されている値StringFormatは無視されます。 複合文字列形式のパラメーターの数は、次の中の子 Binding オブジェクトの数を MultiBinding超えることはできません。

を使用する場合はPriorityBinding、子バインディング オブジェクトに対してPriorityBinding、またはその両方を設定StringFormatできます。 適用される StringFormat 子バインディングに設定されている場合、その値が使用されます。 適用されるStringFormat子バインディングに設定されていない場合は、StringFormatPriorityBindingそのバインディングが設定されている場合に適用されます。

書式指定文字列が文字で { 始まる場合、XAML パーサーはそれをマークアップ拡張と混同します。 このあいまいさを回避するには、書式指定文字列の先頭に空の中かっこのセットを付けます。

適用対象