Я сейчас работаю над приложением Silverlight.У меня есть несколько блоков данных / текстовых блоков, где я использую стандартную привязку для отображения значений, некоторые из которых являются датами.например,
<sdk:DataGrid AutoGenerateColumns="False" IsReadOnly="True" ItemsSource="{Binding Path=MyCollection}">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Binding="{Binding Path=Name, Mode=OneWay}" Header="Agent"/>
<sdk:DataGridTextColumn Binding="{Binding Path=UpdateTime, Mode=OneWay}" Header="Update Time"/>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
<TextBlock Text="{Binding Path=LastUpdatedTime}"/>
Это отлично связывает, но даты всегда отображаются в американском стиле (м / д / у), тогда как я хочу показать их в британском стиле (д / м / у).Я попытался установить культуру, используя теги HTML на странице, на которой размещено приложение
<param name="uiculture" value="en-GB" />
<param name="culture" value="en-GB" />
, и на Application_Start
моего приложения Silverlight
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-GB");
, но ни одно из них не даетразница.У меня есть пользовательский класс, который реализует интерфейс IValueConverter
, я добавил точку останова в метод Convert и параметр CultureInfo, который передается в en-US, как мне изменить культуру?