如何解决双击后所选日期值设置为空
我正在尝试从我的约会表的单元格中获取日期时间值。如果我做的很慢(点击,等待,然后再次点击)它会起作用。但是,如果我快速双击,则不会占用单元格时间。 如果预先选择,它会说日期时间值为空或具有旧日期。
我几天来一直在寻找一些解决方案,但一无所获。请问有什么帮助吗? :/
点击单元格时会出现按钮。
Xamarin 代码:
<ContentView x:Name="Tab_Schedule">
<syncfusion:SfSchedule x:Name="ScheduleDay" ScheduleView="DayView" DataSource="{Binding Appointment}">
<syncfusion:SfSchedule.DayViewSettings>
<syncfusion:DayViewSettings
NonWorkingHoursTimeSlotColor="White">
</syncfusion:DayViewSettings>
</syncfusion:SfSchedule.DayViewSettings>
<syncfusion:SfSchedule.SelectionView>
<Button
x:Name="Button_Open_Add_Event"
BackgroundColor="Orange"
Text="+New Event"
TextColor="White"
Clicked ="Open_Add_Event"/>
</syncfusion:SfSchedule.SelectionView>
</syncfusion:SfSchedule>
</ContentView>
C# 代码:
public void Open_Add_Event(Object sender,EventArgs e)
{
DateTime SelectedTime = ScheduleDay.SelectedDate.Value;
Timepicker_Add_Event_From.Time = SelectedTime.TimeOfDay;
Timepicker_Add_Event_To.Time = SelectedTime.TimeOfDay;
Tab_Add_Event.IsVisible = true;
Tab_Schedule.IsVisible = false;
}
解决方法
您可以使用 TapGestureRecognizer
来避免快速双击。 TapGestureRecognizer
可以将 NumberOfTapsRequired
属性设置为等待双击(或更多点击,如果需要)。
变化:
<Button
x:Name="Button_Open_Add_Event"
BackgroundColor="Orange"
Text="+New Event"
TextColor="White"
Clicked ="Open_Add_Event"/>
致:
<Label
x:Name="Button_Open_Add_Event"
BackgroundColor="Orange"
Text="+New Event"
TextColor="White">
<Label.GestureRecognizers>
<TapGestureRecognizer NumberOfTapsRequired="2" Tapped="Open_Add_Event" />
</Label.GestureRecognizers>
</Label>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。