C# UserControl: Die Parameter "Year", "Month", und "Day"

PapstRatze

Lt. Junior Grade
Registriert
Aug. 2008
Beiträge
436
Tag an alle fleißigen CBler :),

ich muss wohl oder übel mal wieder nach Hilfe fragen. Folgendes Problem stellt sich:
Ich habe ein UserControl namens: ClockUIControl, in dem nur eine TextBox drin ist ->
Code:
[...]
<TextBlock Text="{Binding Duration, Converter={StaticResource TimeConverter}}"/> 
[...]
Dazu im Code noch die Festlegung der Zeitspanne:
Code:
TimeSpan pauseTime = TimeSpan.FromSeconds(0);
        DateTime startPause = new DateTime(0,0,0);
        DateTime startTime = new DateTime(0,0,0);
        public TimeSpan Duration
        {
            get 
            {
                if (startTime.Year == 0)
                { return TimeSpan.FromSeconds(0); }
                else
                { return (DateTime.Now - startTime)-pauseTime; }
            }
        }

        TimeSpan limit = new TimeSpan(0,20,0);

        public ClockUIControl()
        {
            InitializeComponent();
            int hh, mm, ss;
            if (int.TryParse(Data.Resources.ResourceOptions.VideoLimitHH, out hh) &&
                int.TryParse(Data.Resources.ResourceOptions.VideoLimitMM, out mm) &&
                int.TryParse(Data.Resources.ResourceOptions.VideoLimitSS, out ss))
            { limit = new TimeSpan(hh, mm, ss); }
        }
Es sind noch 3 Methoden für Start, Stop und Pause vorhanden.

Das Problem ist nun, dass in meinem MainWindow beim Einfügen:
Code:
<ModernUI:ClockUIControl Height="22" Width="80"/>
der Fehler: Die Parameter "Year", "Month", und "Day" beschreiben eine nicht darstellbare DateTime einstellt.

Ich habe geschaut und gesucht. Und komme nicht im Ansatz drauf wo das Problem liegt. Falls jemand also einen Tipp hat, ich wäre oo Dankbar.
 
Parameter in der richtigen Reihenfolge gesetzt? Ich rate nur aufgrund der Fehlermeldung. Is das C#?
 
Ich wüsste nicht wie ich die Parameter in Falscher Reihenfolge setzen sollte. Ja ist C#.

Oh man ich dödel :D... Okay Lösung ist:
DateTime beginnt nicht beim 0.0.0000 :). ergo
Code:
DateTime startPause = new DateTime(1,1,1);
DateTime startTime = new DateTime(1,1,1);
löst das Problem. Ist mir vorher nie Aufgefallen.
 
Zuletzt bearbeitet:
Zurück
Oben