2017-05-29 94 views
-4

这可能是一个初学者的问题,但我想从日期选择器字段在WPF应用程序,C#中获取日期(yyyy-mm-dd)。我知道我必须用DateTime方法保存日期,因为我要将它插入到数据库中。属性.Value不适用于DatePicker?

无论我在网上看到他们说使用.Value属性,但如果我在DatePicker后键入.Value属性它不会重新调整属性。

有人知道如何解决这个问题或有一个替代方法来取日期选择器的日期?

private void btnPlanGP_Click(object sender, RoutedEventArgs e) 
    { 
     try 
     { 

      string grandPrixNaam = naamGPTextBox.Text; 
      DateTime datumGP = new DateTime(); 
      datumGP = datumDatePicker.Value; 
      int aantalRondes = Convert.ToInt32(aantalRondesTextBox.Text); 
      string naamBaan = naamBaanComboBox.SelectedItem.ToString(); 
      int coureurID = Convert.ToInt32(coureurIDComboBox.SelectedItem); 
      int gastID = Convert.ToInt32(gastIDComboBox.SelectedItem); 

      try 
      { 
       formule1DataSetGrandPrixTableAdapter.Insert(grandPrixNaam, datumGP, naamBaan, aantalRondes, coureurID, gastID); 
       formule1DataSetGrandPrixTableAdapter.Fill(formule1DataSet.GrandPrix); 
      } 
      catch (SqlException ex) 
      { 
       MessageBox.Show(ex.Message); 
      } 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(Convert.ToString(ex)); 
     } 
    } 
+1

显示您的代码。 – Gusman

+2

https://msdn.microsoft.com/en-us/library/system.windows.controls.datepicker.selecteddate(v=vs.110).aspx –

+0

在WPF中,它被称为'SelectedDate',而不是'Value'。 Windows窗体控件被称为“DateTimePicker”并具有“Value”属性。 –

回答

0

内置在WPF DatePicker控制具有SelectedDate返回datetime?试试这个:

string grandPrixNaam = naamGPTextBox.Text; 
DateTime datumGP = datumDatePicker.SelectedDate.HasValue ? datumDatePicker.SelectedDate.Value : default(DateTime); 
int aantalRondes = Convert.ToInt32(aantalRondesTextBox.Text); 
... 
0

我从Ed Plunkett得到了一口气。 WPF确实没有.Value属性。我将其更改为.SelectedDate并且工作正常。

DateTime? datumGP = new DateTime(); 
datumGP = datumDatePicker.SelectedDate; 
+0

你想让我删除我的答案吗? – mm8

+0

@ mm8你可以把它留在那里。也许有人会喜欢你的答案。 –

+0

那你为什么写另一个? – mm8

相关问题