如何在ListBox中显示日期

时间:2013-11-01 07:01:05

标签: sqlite winrt-xaml

我将listBox与来自Sqlite DB的数据进行了数据绑定,但日期显示为dd / mm / yyyy hhmmss am / pm。如何转换下面列表框的日期。我想要一些日期格式选择:

1)DD / MM / YYYY(即:2013年1月10日)

2)DD / MM(即:10月1日)

3)DD /月/ YYYY(即2013年10月1日)

感谢。


<ListBox  HorizontalAlignment="Left" BorderBrush="Transparent"  Background="White"  VerticalAlignment="Top" Name="listBox1" Width="550"  Height="350">

  <ListBox.ItemTemplate>
     <DataTemplate>

        <Grid Width="650" Background="White">

        <Grid.RowDefinitions>
             <RowDefinition Height="*"/>
               </Grid.RowDefinitions>

                 <Grid.ColumnDefinitions>
                      <ColumnDefinition Width="30">
                      <ColumnDefinition Width="100">
                      <ColumnDefinition Width="50">
                      <ColumnDefinition Width="150">

                      </Grid.ColumnDefinitions>

       <TextBlock Margin="1,3,0,0" FontSize="23" FontWeight="SemiBold" Foreground="DarkBlue" Text="{Binding CustId}" Grid.Row="0" Grid.Column="0" />

       <TextBlock Margin="10,3,0,0" FontSize="23" Foreground="DarkBlue" Text="{Binding No}" TextWrapping="Wrap" Grid.Row="0"  Grid.Column="1" />

      <TextBlock Margin="10,3,0,0" FontSize="23" Foreground="DarkBlue" Text="{Binding Document}" TextWrapping="Wrap"  Grid.Row="0" Grid.Column="2" />

       <TextBlock Margin="50,3,0,0" FontSize="23" Foreground="DarkBlue" Text="{Binding Order_Date}" TextWrapping="Wrap"  Grid.Row="0" Grid.Column="3" />                           


        </Grid>

    </DataTemplate>
 </ListBox.ItemTemplate>

1 个答案:

答案 0 :(得分:0)

通常在XAML中,您使用StringFormat绑定表达式。这在Windows 8中不存在。大多数人为此使用BindingConverter。一个快速的谷歌搜索出现了这个,这应该适合你。

http://www.ricky-dev.com/2012/08/stringformat-missing-from-binding-expressions-in-winrt/

http://blogs.u2u.be/diederik/post/2012/03/19/A-StringFormat-converter-for-Windows-8-Metro.aspx