来自列表框中数据库的C#数据

时间:2018-01-23 15:33:32

标签: c# wpf visual-studio listbox

我有一个ListBox,其中有一些来自数据库的数据。第一行是名称(string),第二行是双倍的价格。我想在价格后面加上 Euros 这个词,但在数据库中它应该保持双倍。

我该怎么做?

this link here

我的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>

1 个答案:

答案 0 :(得分:1)

在单价StringFormat上使用TextBlock

如果您想在价格旁边显示欧元符号:

<TextBlock Language="fr" Text="{Binding UnitPrice, StringFormat=C0}" />

或者如果你想显示文字“Euros”(感谢@Milan指出这一点):

<TextBlock Text="{Binding UnitPrice, StringFormat={}{0} Euros }" />