2010-07-01 11 views
5

ich im Moment auf eine Silverlight-Anwendung arbeite. Ich habe ein paar Datagrids/Textblöcke, wo ich Standard-Bindung verwenden, um Werte zu zeigen, von denen einige Daten sind. z.B.ändert Kultur von Silverlight-Anwendung

<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}"/> 

Dies bindet in Ordnung, aber die Daten werden immer als US-Stil (m/d/y) gezeigt, während ich sie in Großbritannien Stil (d/m/y) zeigen möge. Ich habe versucht, die Kultur auf der Seite sowohl die HTML-Tags mit Einstellung des Anwendungs-Hosting

<param name="uiculture" value="en-GB" /> 
<param name="culture" value="en-GB" /> 

und auf Application_Start meine Silverlight-Anwendung

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB"); 
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-GB"); 

aber keiner von ihnen macht einen Unterschied. Ich habe eine benutzerdefinierte Klasse, die IValueConverter Schnittstelle implementiert, ich habe einen Haltepunkt für die Convert-Methode hinzugefügt und der CultureInfo-Parameter, der übergeben wird, ist en-US, wie ändere ich die Kultur?

Antwort

-1

Im Converter verwenden, um den Code unten

CultureInfo ci = new CultureInfo("en-GB"); 
return value.ToString(ci); 
+0

Würde ich brauche einen Konverter für jede Datacolumn/TextBlock- zu verwenden, die ein Datum anzeigt? – Fermin

+0

ja. Aber wenn Sie wollen global verwenden, in dem Mainpage-Konstruktor oder Loaded-Ereignis Verwendung unten (keine Notwendigkeit für Konverter hier) Culture en = new Culture („en-GB“); Thread.CurrentThread.CurrentCulture = de; – Ragunathan

+0

Wie ich in meinem ersten Post gesagt habe, habe ich bereits versucht, die CurrentCulture im Application_Start-Event zu setzen und es ändert sich nicht, wie die Daten angezeigt werden. – Fermin