Il formato DatePicker sta utilizzando la lingua preferita dell'utente e regione. Questo controllo apparirà automaticamente diverso, per la mia regione è giorno/mese/anno come vorresti che fosse. Ho provato a forzare il controllo a utilizzare un altro linguaggio, ma sembra che lo stia prendendo direttamente dalle impostazioni del telefono. Alcune informazioni si possono trovare qui a MSDN:
Se è necessario per consentire agli utenti di scegliere una data o selezionare un tempo, utilizzare la data e l'ora controlli standard Picker. Questi utilizzeranno automaticamente i formati di data e ora per la lingua e la regione preferite dell'utente.
L'altra cattiva notizia è possibile trovare here at MSDN about formating that particular control:
Nota Questa sezione si applica a Windows Store applicazioni utilizzando C++, C# o Visual Basic. La formattazione viene ignorata nelle app di Windows Phone Store.
Quindi nell'API corrente può essere difficile modificare la formattazione.
La buona notizia è per il testo CHOOSE DATE
in alto - è localizzato automaticamente, in base alla lingua e alla regione dell'utente. Quindi non devi preoccuparti se la tua app supporta la lingua dell'utente. Ma non ho trovato il modo di cambiarlo in un altro testo.
Per quanto riguarda il testo visualizzato all'interno del pulsante prima che sia cliccato, si può sempre usare Pulsante con DatePickerFlyout, un semplice esempio con convertitore apropriate:
<Button Content="{Binding ElementName=chosenDate, Path=Date, Converter={StaticResource DateFormatConverter}}">
<Button.Flyout>
<DatePickerFlyout x:Name="chosenDate" />
</Button.Flyout>
</Button>
e la classe convertitore:
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(); }
}
Stavo correndo con il mio telefono usando portoghese (lingua) e USA (regione). Disinstallato l'app, pulita la soluzione, cambiato regione in Brasile, riavviato il telefono e reinstallato l'app. Non ho cambiato nulla. – GustavoMP
@GustavoMP Si prega di verificare quale lingua è la prima in Impostazioni-> Lingue. Controlla anche se la tua app supporta 'pt-BR' - hai risorse per loro? È impostato come lingua aggiuntiva? – Romasz
Ecco fatto. Modificata la lingua nel manifest in pt-br e creata la risorsa. Molte grazie. – GustavoMP