BindingBase.StringFormat 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个字符串,该字符串指定如果绑定值显示为字符串,应如何设置该绑定的格式。
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
属性值
一个字符串,该字符串指定如果绑定值显示为字符串,应如何设置该绑定的格式。
示例
下面的示例使用StringFormat属性将一个Double表示货币的字符串转换为Price
一个字符串。
<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>
以下示例使用StringFormat属性在 a MultiBinding 上生成一个字符串,其中包含Description``Price
和包含每个ListBox项的字符串。
<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 可以是预定义、复合或自定义字符串格式。 有关字符串格式的详细信息,请参阅 格式设置类型。
如果设置 Converter 和 StringFormat 属性,则首先将转换器应用于数据值,然后 StringFormat 应用该值。
将 on Binding 设置为StringFormat复合字符串格式时,只能指定一个参数。
使用 a MultiBinding时,该 StringFormat 属性仅在设置时 MultiBinding适用。 忽略在任何子Binding对象上设置的值StringFormat。 The number of parameters in a composite string format cannot exceed the number of child Binding objects in the MultiBinding.
使用 a PriorityBinding时,可以在子绑定对象上或同时设置 StringFormat on PriorityBinding、 如果在应用的子绑定上设置该值 StringFormat ,则使用该值。 StringFormat如果未在应用的子绑定上设置,StringFormatPriorityBinding则应用该绑定(如果已设置)。
如果格式字符串以 {
字符开头,则 XAML 分析器会将它与标记扩展混淆。 为了避免这种歧义,请将格式字符串前缀为空的大括号集。