Projekt-Anfragen: Tel: 07022/9319004 info@CodeDocu.de Software Entwicklung in C# WPF Asp.Net Core Vba Excel Word SQL-Server EF Linq, UWP Net
#

WPF Uhrzeit Elemente oder DateTime-Picker

 

 

Folgende WPF Anwendung zeigt, wie man eine Tageszeit in WPF anhand eines DateTime Pickers einstellen kann.

Mit einem DateTime Picker kann man nur die aktuelle Tageszeit auswählen, ohne das Datum verwenden zu müssen. Als Variable im Hintergrund wird allerdings eine DateTime Variable verwendet.

 

WPF selbst hat leider keinen DateTime Picker. Man kann sich einen DateTime Picker als UserControl selber erstellen oder schnell mal den Xceed DateTime-Picker einbauen

 

 

Am Beispiel vom kostenlosen XCeed Tools. Time Control

 

 

In der Xaml Frontend Seite muss xceed-Toolkit eingefügt werden im Kopfbereich der Code Seite

xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit" x:Class="Schichtplaner.Page_Base_Schichten"

 

 

Die einzelnen xceed TimePicker werden dann wie hier als xctk:TimePicker eingefügt

 

            <Label Content="Von" Grid.Row="3" Grid.Column="0"/>

            <xctk:TimePicker x:Name="tbxVon" Grid.Row="3" Grid.Column="1"

     HorizontalAlignment="Left" Width="99" />

 

            <Label Content="Bis" Grid.Row="4" Grid.Column="0"/>

            <xctk:TimePicker x:Name="tbxBis" Grid.Row="4" Grid.Column="1"

     HorizontalAlignment="Left" Width="99" />

 

            <Label Content="Dauer" Grid.Row="5" Grid.Column="0"/>

            <xctk:TimePicker x:Name="tbxDauer" Grid.Row="5" Grid.Column="1"

     HorizontalAlignment="Left" Width="99" />

 

            <Label Content="Pause" Grid.Row="6" Grid.Column="0"/>

            <xctk:TimePicker x:Name="tbxPause" Grid.Row="6" Grid.Column="1"

     HorizontalAlignment="Left" Width="99" />

 

 

Timepicker in C#, WPF

TimePicker einstellen

Beim TimePicker werden Uhrzeiten von 0-24 eingestellt. Hierzu verwendet man ein DateTime Variable, bei der das Datum null bleibt und nur die Tageszeit-Uhr eingestellt wird.

In diesem Fall werden die DateTime-Werte aus der Datenbank entnommen. Dort sind die Datenwerte als SQL Date Felder deklariert.    

DateTime dtSet = data.Schicht_Beginn ?? DateTime.Now;

tbxVon.Value = dtSet;

dtSet = data.Schicht_Ende  ?? DateTime.Now;

tbxBis.Value = dtSet;

dtSet = data.Schicht_Dauer ?? DateTime.Now;

tbxDauer.Value = dtSet;

dtSet = data.Schicht_Pause ?? DateTime.Now;

tbxPause.Value = dtSet;

 

 

In der Datenbank als DateTime

 

SQL Syntax

CREATE TABLE [dbo].[tblBase_Schichten] (

    [IDSchicht]      INT           IDENTITY (1, 1) NOT NULL,

    [Schicht]        NVARCHAR (50) NULL,

    [Kurz]           NVARCHAR (5)  NULL,

    [Schicht_Beginn] DATETIME      NULL,

    [Schicht_Ende]   DATETIME      NULL,

    [Schicht_Dauer]  DATETIME      NULL,

    [Schicht_Pause]  DATETIME      NULL,

    [SortierNr]      INT           NULL,

    [Farbe]          NVARCHAR (9)  NULL,

    [Textfarbe]      NVARCHAR (9)  NULL,

    [dtEdit]         DATETIME      NULL,

    [dtCreated]      DATETIME      NULL,

    PRIMARY KEY CLUSTERED ([IDSchicht] ASC)

 

 

 

 

Reset auf null : indem man das Element mit null zuweist

if (tbxVon.Value != null) { data.Schicht_Beginn = tbxVon.Value; } else { data.Schicht_Beginn = null; };

if (tbxBis.Value != null) { data.Schicht_Ende = tbxBis.Value; } else { data.Schicht_Ende = null; };

if (tbxDauer.Value != null) { data.Schicht_Dauer = tbxDauer.Value; } else { data.Schicht_Dauer = null; };

if (tbxPause.Value != null) { data.Schicht_Pause = tbxPause.Value; } else { data.Schicht_Pause = null; };

 

 

 

 

 

Zum Verwenden des kostenlosen DateTime-Pickers muss man über Nuget Packages das XCeet.Wpf.Toolkit installieren

 

 

 

Mobile
»
WPF Uhrzeit Elemente oder DateTime-Picker
»
WPF: Scollbar anzeigen
»
WPF: Column oder Row ermitteln
»
WPF: SelectedItem aus DataGrid auslesen mit Anonyous Type auf Dyamic Type
»
WPF: Elemente zu breit, rand abgeschnitten
»
Gelöst: System.InvalidCastException HResult=0x80004002 SelectedItem SelectedValue
»
WPF Kurze Zeit in Grid Spalten anpassen. Anzeige Zeit Format
»
WPF: Combobox Selected Value ermitteln und zuweisen
»
WPF: Combobox füllen
»
WPF: Hintergrundfarbe einer Spalte an Daten binden

.

Jobs, Projekte, Angebote für Freiberufler, Selbstständig an Info@CodeDocu.de