2016-06-16 14 views
0

Ich benutze DatePickerDialog und ich möchte jedes Datum vor heute verstecken. Ich kann vorherigen Monat und Jahr verstecken mit diesem Code:xamarin android DatePickerDialog set mini Datum

dialog.DatePicker.MinDate = new Java.Util.Date().Time - 1000;  

Aber es funktioniert nicht wie ich will. Die Tage zwischen dem 1. Juni und dem heutigen Tag sind deaktiviert (grau), aber wir können immer noch auf sie klicken und den Dialog durch Klicken auf den positiven Knopf schließen.

Hat jemand eine Lösung, um sie wirklich zu deaktivieren? oder zumindest vermeiden, den Dialog zu schließen?

Antwort

0

Versuchen Sie jetzt, die Denkweise auf das Datum zu ändern?

dateTimePicker1.MinDate = DateTime.Now; 

So etwas sollte funktionieren. :)

1

Sie benötigen MinDate die Anzahl der Millisekunden zwischen dem Mindest Datum (in Ihrem Fall heute) und 1. Januar 1970, so zu geben:

dialog.DatePicker.MinDate = (long)(DateTime.Today.Date - new DateTime(1970, 1, 1)).TotalMilliseconds; 

Dies sollte verhindern, dass Benutzer alle früheren Termine auswählen.

+0

Unfortunetly gleiche Ergebnis .. – warkanix

+0

Können Sie den Code teilen, dass der Datumsauswahl-Dialog ist zu erstellen? –

0
//for lesser than today 
dialog.DatePicker.MinDate = Java.Lang.JavaSystem.CurrentTimeMillis(); 

//for greater than today 
dialog.DatePicker.MaxDate = Java.Lang.JavaSystem.CurrentTimeMillis(); 

Dies löste Mine :)