DateTime格式的区域性WP8不正确

DateTime格式的区域性WP8不正确,datetime,windows-phone-8,culture,Datetime,Windows Phone 8,Culture,我尝试以法语格式dd/MM/AAAA hh:MM:ss显示日期时间。 我有一个英文格式的日期时间,如MM/dd/AAAA hh:MM:ss AM或PM 所以我做了如下解析: foreach(listElement中的var\u元素) { IFormatProvider culture=新的CultureInfo(“fr”); 字符串日期=_元素.DateModifyElement.ToString(); _element.DateModifiElement=DateTime.Parse(日期、区

我尝试以法语格式dd/MM/AAAA hh:MM:ss显示日期时间。
我有一个英文格式的日期时间,如MM/dd/AAAA hh:MM:ss AM或PM
所以我做了如下解析:

foreach(listElement中的var\u元素)
{
IFormatProvider culture=新的CultureInfo(“fr”);
字符串日期=_元素.DateModifyElement.ToString();
_element.DateModifiElement=DateTime.Parse(日期、区域性、DateTimeStyles.NoCurrentDateDefault);
添加(_元素);
}
它工作得非常好,因此现在我的对象中的
DateTime
属性采用法语格式。所以我只需要在视图中显示日期

因此,我的
observateCollection
绑定到视图中的
LongListSelector
,如下所示:

ObsvCollectionBdeskElement=新的ObservableCollection(listElementCollection);
llsElements.ItemsSource=ObsvCollectionBdeskElement;
在xaml中

<phone:LongListSelector 
    x:Name="llsElements" 
    ItemsSource="{Binding}"
    IsGroupingEnabled="True"
    HideEmptyGroups="False"
    JumpListStyle="{StaticResource LongListSelectorJumpListStyle}"
    LayoutMode="List">

<phone:LongListSelector.ItemTemplate>
    <DataTemplate>  
        <Grid Margin="0,20,0,0" Background="White">
            <toolkit:ContextMenuService.ContextMenu>
                <toolkit:ContextMenu IsZoomEnabled="True" x:Name="ContextMenu" Background="#FF00485A" >
                <toolkit:MenuItem Header="renommer" Click="renommer_Click" Foreground="White" />
                <toolkit:MenuItem  Header="supprimer"  Click="supprimer_Click" Foreground="White" />
            </toolkit:ContextMenu>
        </toolkit:ContextMenuService.ContextMenu>

        <Grid VerticalAlignment="Center" Grid.Column="1" Margin="10,0,20,0"  >
            <TextBlock Grid.Row="1" Margin="0,2,0,0" Text="{Binding DateModifElement}" Foreground="{StaticResource C01}" FontSize="16"/>
        </Grid>  

这是一个已知的问题,绑定不使用系统当前区域性来格式化值。 您可以创建自己的值转换器来实现它

public class FrDateValueConverter
        : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value is DateTime)
            {
                var date = (DateTime) value;
                return date.ToString(new CultureInfo("fr-Fr"));
            }

            return value;
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
现在,您应该将转换器添加到资源中

<FrDateValueConverter x:Key="MyConv" />

最后,您应该指定绑定的转换器参数

<TextBlock Grid.Row="1" Margin="0,2,0,0" Text="{Binding DateModifElement, Converter={StaticResource MyConv}}" Foreground="{StaticResource C01}" FontSize="16"/>

您想为完整的应用程序设置“fr”区域性还是仅为日期格式设置“fr”区域性?该区域性应用程序的属性已定义为法语…因此我不明白。。。