0
如何在TimePicker
中綁定時間。當我嘗試綁定時,我得到一個FormatException錯誤。如何轉換爲TimePicker
將支持的格式?如何在TimePicker Universal windows Platform中綁定時間?
如何在TimePicker
中綁定時間。當我嘗試綁定時,我得到一個FormatException錯誤。如何轉換爲TimePicker
將支持的格式?如何在TimePicker Universal windows Platform中綁定時間?
TimePicker.Time屬性的類型是TimeSpan,所以爲了綁定到TimePicker的time屬性,我們需要將datetime轉換爲timespan。
public class MainViewModel : ObservableObject
{
//Initialize someDateTime with a default value
private DateTime someDateTime = DateTime.Parse("07/21/1969 2:56AM");
public DateTime SomeDateTime
{
get { return someDateTime; }
set { Set(ref someDateTime,value); }
}
}}
public class DateTimeToTimeSpanConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
try
{
DateTime dt = (DateTime)value;
TimeSpan? ts = DateTimeConverter.DateTimeToTimeSpan(dt);
return ts.GetValueOrDefault(TimeSpan.MinValue);
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
return TimeSpan.MinValue;
}
}
}
MainPage.xaml中:
<Page ...>
<Page.DataContext>
<ViewModels:MainViewModel/>
</Page.DataContext>
<Page.Resources>
<Converters:DateTimeToTimeSpanConverter
x:Key="DateTimeToTimeSpanConverter"/>
</Page.Resources>
<!-- ... -->
<TimePicker
Header="My time"
Margin="10" FontSize="24"
Time="{Binding SomeDateTimeTime, Converter={StaticResource DateTimeToTimeSpanConverter}, Mode=TwoWay}" />
<!-- ... -->
</Page>
不,我再次收到異常。我需要將字符串轉換爲TimeSpan格式。可以給我建議。 – Awaneesh
我的時間選擇器只支持TimeSpan格式。 – Awaneesh
你有什麼異常? –