2017-06-07 19 views
0

我對XAML.vb完全陌生。當我想用.cs計算年齡時,我曾經輸入以下代碼:xaml.vb中的DatePicker

private void dateTimePicker1_valueChanged (object sender, EventArgs e) 
{ 
DateTime from = dateTimePicker1.Value; 
DateTime to = dateTimePicker1.Now; 
TimeSpan Tspan = to-from; 
double days = Tspan.TotalDays; 
textbox1.Text = (days/365)ToString("0"); 
} 

以下代碼來自XAML.VB.我以前在CS中使用的所有功能都不存在。

Private Sub dob_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) 

{ 

DateTime from = dob.Value; // it doesn't exist. I found dob.GetValue but its not helping. 

} 

同樣是用「時間跨度」,所有從微軟的其他內置功能,他們有這麼多改變它,多少是無法在互聯網上。如果有人有任何想法,這將是非常棒的。 感謝

回答

0

時間跨度是在VB中可用太...檢查這個

https://msdn.microsoft.com/en-us/library/bk8a3558(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1

Follwoing在VB中的相同代碼....

Private Sub dateTimePicker1_valueChanged(sender As Object, e As EventArgs) 
    Dim from As DateTime = dateTimePicker1.Value 
    Dim [to] As DateTime = dateTimePicker1.Now 
    Dim Tspan As TimeSpan = [to] - from 
    Dim days As Double = Tspan.TotalDays 
    textbox1.Text = (days/365).ToString("0") 
End Sub 
1

DateTimePicker是WindowsForms控制。在WPF中,該控件被稱爲DatePicker,它具有返回Nullable(Of DateTime)SelectedDate屬性。

試試這個。

XAML:

<DatePicker x:Name="dob" SelectedDateChanged="dob_SelectedDateChanged" /> 
<TextBox x:Name="textBox1" /> 

VB.NET:

Private Sub dob_SelectedDateChanged(sender As Object, e As SelectionChangedEventArgs) 
    Dim fromDate = dob.SelectedDate.Value 
    Dim toDate = DateTime.Now 
    Dim tspan = toDate - fromDate 
    Dim days = tspan.TotalDays 
    textBox1.Text = days.ToString 
End Sub