Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 属性。值不可用于日期选择器?_C#_Wpf_Date_Datepicker - Fatal编程技术网

C# 属性。值不可用于日期选择器?

C# 属性。值不可用于日期选择器?,c#,wpf,date,datepicker,C#,Wpf,Date,Datepicker,这可能是一个初学者的问题,但我想从WPF应用程序C#中的datepicker字段获取日期(yyyy-mm-dd)。我知道我必须用DateTime方法保存日期,因为我要把它插入数据库 无论我在互联网上看到什么地方,他们都说使用.Value属性,但是如果我在日期选择器之后键入.Value属性,它不会重新确认该属性 是否有人知道如何解决这个问题,或者有其他方法从日期选择器中获取日期 private void btnPlanGP_Click(object sender, RoutedEventArgs

这可能是一个初学者的问题,但我想从WPF应用程序C#中的datepicker字段获取日期(yyyy-mm-dd)。我知道我必须用DateTime方法保存日期,因为我要把它插入数据库

无论我在互联网上看到什么地方,他们都说使用.Value属性,但是如果我在日期选择器之后键入.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));
        }
    }

WPF中的内置
DatePicker
控件具有一个返回DateTime?的?。试试这个:

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

我得到了Ed Plunkett的答复。 WPF确实没有.Value属性。我把它改成了。SelectedDate,这个就行了

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

显示您的代码。在WPF中,它被称为
SelectedDate
,而不是
Value
。Windows窗体控件名为
DateTimePicker
,具有
属性。是否要我删除我的答案?@mm8您可以将其保留在那里。也许有人会喜欢你的答案。那你为什么还要写另一个呢?因为它比较短,信息量也小得多。为什么要创建一个新的DateTime()?毫无意义。顺便说一下,我的答案中的额外代码行来自您的代码。我真的不明白为什么你会抄袭那些试图帮助你的人的答案。但也许那只是我。。。