2015-05-25 15 views
5

ich eine Pivot-Projekt auf Visual Studio erstellt 2013.Format Datum auf Datepicker gezeigt

ich die folgende Kontrolle erstellt:

<DatePicker Header="Data" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,10,0,0" Width="341"/> 

Wenn ich darauf tippen auf meinem Handy, zeigt es das Datum als M/D/Y. Ist es möglich, es als D/M/Y anzuzeigen?

Auch nicht wissen, ob ich eine andere Frage erstellen sollte, aber wie kann ich in PT-BR die Tag/Monat-Namen im Steuerelement angezeigt werden? Sowie "Wähle ein Datum".

enter image description here

Antwort

2

Das Datepicker Format verwendet die bevorzugte Sprache und Region des Nutzers. Dieses Steuerelement wird automatisch anders aussehen, für meine Region ist es Tag/Monat/Jahr, wie Sie es wünschen. Ich habe versucht, die Steuerung zu zwingen, andere Sprache zu verwenden, aber es scheint, es direkt von den Telefoneinstellungen zu nehmen. Einige Informationen, die Sie hier bei MSDN finden können:

Wenn Sie Benutzern ermöglichen, um ein Datum zu wählen oder eine Zeit wählen, verwenden Sie die Standard-Datum und die Uhrzeit Picker Kontrollen. Diese verwenden automatisch die Datums- und Uhrzeitformate für die bevorzugte Sprache und Region des Benutzers.

Die andere schlechte Nachrichten Sie here at MSDN about formating that particular control finden:

Dieser Abschnitt gilt für Windows Store Apps mit

Hinweis C++, C# oder Visual Basic. Die Formatierung wird in Windows Phone Store-Apps ignoriert.

So in der aktuellen API kann es schwierig sein, die Formatierung zu ändern.

Die gute Nachricht ist für den CHOOSE DATE Text an der Spitze - es wird automatisch lokalisiert, abhängig von Sprache und Region des Benutzers. Sie müssen sich also keine Gedanken darüber machen, ob Ihre App die Sprache des Benutzers unterstützt. Aber ich habe es nicht gefunden, um es in anderen Text zu ändern.

Wie für den Text in der Schaltfläche angezeigt wird, bevor es angeklickt wird, können Sie immer verwenden Knopf mit DatePickerFlyout, einem einfachen Beispiel mit apropriate Konverter:

<Button Content="{Binding ElementName=chosenDate, Path=Date, Converter={StaticResource DateFormatConverter}}"> 
    <Button.Flyout> 
     <DatePickerFlyout x:Name="chosenDate" /> 
    </Button.Flyout> 
</Button> 

und der Konverterklasse:

public class DateFormatConverter : IValueConverter 
{ 
    public object Convert(object value, Type targetType, object parameter, string language) 
    { 
     DateTimeOffset chosen = (DateTimeOffset)value; 
     return string.Format("{0}/{1}/{2}", chosen.Day, chosen.Month, chosen.Year); 
     // or use chosen.ToString() with format provider 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, string language) { throw new NotImplementedException(); } 
} 
+0

Ich lief mit meinem Telefon mit Portugiesisch (Sprache) und USA (Region). Die App wurde deinstalliert, die Lösung bereinigt, die Region in Brasilien geändert, das Telefon neu gestartet und die App neu installiert. Hab nichts geändert. – GustavoMP

+0

@GustavoMP Bitte überprüfen Sie, welche Sprache die erste unter Einstellungen-> Sprachen ist. Überprüfen Sie auch, ob Ihre App "pt-BR" unterstützt - haben Sie Ressourcen für sie? Ist es als zusätzliche Sprache eingestellt? – Romasz

+0

Das war's. Die Sprache im Manifest wurde in pt-br geändert und die Ressource erstellt. Danke vielmals. – GustavoMP