我有一个ListBox
,其中有一些来自数据库的数据。第一行是名称(string
),第二行是双倍的价格。我想在价格后面加上 Euros 这个词,但在数据库中它应该保持双倍。
我该怎么做?
我的ListBox代码是:
<ListBox Name="BoozeList" Margin="10,124,0,10" HorizontalAlignment="Left"
ScrollViewer.VerticalScrollBarVisibility="Visible" Width="233"
Background="#FF79DCFA" BorderBrush="#FF0040FF">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=Name}" />
<TextBlock Text="{Binding Path=UnitPrice}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.Resources>
<CollectionViewSource x:Key="BoozesCollection" Source="{Binding Boozes}"/>
<CollectionViewSource x:Key="JuicesCollection" Source="{Binding Juices}"/>
<CollectionViewSource x:Key="SnacksCollection" Source="{Binding Snacks}"/>
<Style TargetType="Border">
<Setter Property="CornerRadius" Value="15"/>
</Style>
</ListBox.Resources>
<ListBox.ItemsSource>
<CompositeCollection>
<CollectionContainer Collection="{Binding Source={StaticResource BoozesCollection}}"/>
<CollectionContainer Collection="{Binding Source={StaticResource JuicesCollection}}"/>
<CollectionContainer Collection="{Binding Source={StaticResource SnacksCollection}}"/>
</CompositeCollection>
</ListBox.ItemsSource>
</ListBox>
答案 0 :(得分:1)
在单价StringFormat
上使用TextBlock
。
如果您想在价格旁边显示欧元符号:
<TextBlock Language="fr" Text="{Binding UnitPrice, StringFormat=C0}" />
或者如果你想显示文字“Euros”(感谢@Milan指出这一点):
<TextBlock Text="{Binding UnitPrice, StringFormat={}{0} Euros }" />