Benutzer mit den meisten Antworten
Zeiten-Eingabe WPF

Frage
Antworten
-
Hallo,
da du noch in den Anfängen der WPF Entwicklung steckst gehe ich mal näher auf dein Problem ein. Ich möchte zuvor schon mal sagen dass man sich mit dieser Aufgabe eine ganze Weile beschäftigen kann und es einige Wege gibt die zum Ziel führen.
Ich würde zu einer normalen TextBox greifen und im Codebehind ein TimeSpan aus dem Text parsen:
TimeSpan ts; if(TimeSpan.TryParse(textBoxTimeSpan.Text, out ts)){ //ts enthäkt nur den Wert der in die TextBox eingegeben wurde } else{ //Eingabe enthält einen Fehler }
Peter Sprache bereits einen Konverter an. Sobald du Datenbindungen näher kennen lernst, wirst du auch die Konverter hin- und wieder brauchen. Konverter sind dabei Klassen die IValueConverter oder IMultiValueConverter implementieren.. Die voirgeschriebenen Convert- bzw. ConvertBack Methode sind dabei in der Lage zwischen verschiedenen Typen die Daten umzuwandeln. Also beispielsweise zwischen DateTime und String. Dieser Weg bringt dir aber nur etwas wenn du mit DatenBindungen arbeitest und diese auch richtig verstehst. Ein Beispiel für so einen Konverter findest du unter IValueConverter in WPF data binding.
Weg Nummer 3 besteht darin ein eigenes Control speziell für diesen Zweck einzusetzen. Zu finden gibt es da diverse im Internet (vgl. Iso7's Antwort), du kannst dir aber auch selbst eines schreiben. Ich muss aber sagen das das recht komplex ist, wenn man es ordentlich machen will und noch keine Routine darin hat.
Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort markiert R3turnz Sonntag, 6. September 2015 06:52
Alle Antworten
-
Hallo,
da du noch in den Anfängen der WPF Entwicklung steckst gehe ich mal näher auf dein Problem ein. Ich möchte zuvor schon mal sagen dass man sich mit dieser Aufgabe eine ganze Weile beschäftigen kann und es einige Wege gibt die zum Ziel führen.
Ich würde zu einer normalen TextBox greifen und im Codebehind ein TimeSpan aus dem Text parsen:
TimeSpan ts; if(TimeSpan.TryParse(textBoxTimeSpan.Text, out ts)){ //ts enthäkt nur den Wert der in die TextBox eingegeben wurde } else{ //Eingabe enthält einen Fehler }
Peter Sprache bereits einen Konverter an. Sobald du Datenbindungen näher kennen lernst, wirst du auch die Konverter hin- und wieder brauchen. Konverter sind dabei Klassen die IValueConverter oder IMultiValueConverter implementieren.. Die voirgeschriebenen Convert- bzw. ConvertBack Methode sind dabei in der Lage zwischen verschiedenen Typen die Daten umzuwandeln. Also beispielsweise zwischen DateTime und String. Dieser Weg bringt dir aber nur etwas wenn du mit DatenBindungen arbeitest und diese auch richtig verstehst. Ein Beispiel für so einen Konverter findest du unter IValueConverter in WPF data binding.
Weg Nummer 3 besteht darin ein eigenes Control speziell für diesen Zweck einzusetzen. Zu finden gibt es da diverse im Internet (vgl. Iso7's Antwort), du kannst dir aber auch selbst eines schreiben. Ich muss aber sagen das das recht komplex ist, wenn man es ordentlich machen will und noch keine Routine darin hat.
Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort markiert R3turnz Sonntag, 6. September 2015 06:52