翻译|使用教程|编辑:莫成敏|2019-11-21 14:23:56.970|阅读 312 次
概述:在此文章中,我们将讨论Xamarin.Forms Scheduler中通过Web服务按需加载约会的方法。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
Essential Studio for Xamarin是全面的Xamarin.iOS、Xamarin.Android和Xamarin.Forms组件套包,包含最快的图表和网格。此套包包括Xamarin.Forms Scheduler。
点击下载Essential Studio for Xamarin
在为Android、iOS和UWP平台开发Xamarin应用程序时,最普遍的要求是能够从Web服务访问数据。Syncfusion Xamarin.Forms Scheduler控件提供了所有常用的调度功能,这些功能允许用户使用映射技术按需从Web服务中按需加载和绑定约会作为自定义约会。
在此文章中,我们将讨论Xamarin.Forms Scheduler中通过Web服务按需加载约会的方法。
创建一个Web API服务
Web服务是服务器端应用程序,旨在为各种客户端应用程序提供数据或逻辑。REST和SOAP是广泛使用的行业标准Web服务体系结构。请参考本教程来创建ASP.NET Core Web API服务并将其托管以供公共访问。对于此演示,我们将使用此托管服务。
创建模型类
创建一个模型类约会,其中包含与Web API服务类似的数据结构,其中包含约会的主题、时间和其他相关信息。
从Web API服务中获取数据
在Xamarin中,HttpClient提供了一个基类来发送HTTP请求并从URI标识的Web服务接收HTTP响应。使用异步方法RefreshDataAsync创建帮助程序类WebAPIService并使用API服务URI。在基本URL上使用GetAsync以使用HttpClient检索约会数据。使用C#await选项可以轻松使用该值。将返回的对象传递到JsonConvert.DeserializeObject中,以将JSON数据转换为约会的集合,并将数据返回给服务调用者。
在Scheduler中绑定远程数据
调度程序约会是MVVM友好的功能,具有完整的数据绑定支持。这使您可以绑定从Web API服务获取的数据,以加载和管理Scheduler控件中的约会。使用异步方法GetData创建视图模型SchedulerViewModel来调用服务调用并将接收到的数据存储在适当的集合中。
<font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 公共类SchedulerViewModel:INotifyPropertyChanged</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 私有WebAPIService webAPIService;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 私人ObservableCollection <Appointment>约会;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 私有ObservableCollection <Appointment> webData;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 私有List <Color> colorCollection;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 私有List <DateTime> visibleDates;</font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 公共事件PropertyChangedEventHandler PropertyChanged;</font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> /// <摘要></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> ///获取或设置Scheduler中的可见日期。 </font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> /// </ summary></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 公共List <DateTime> VisibleDates</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 得到</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 返回visibleDates;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 组</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.visibleDates =值;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> RaisepropertyChanged(“ VisibleDates”);</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> /// <摘要></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> ///获取或设置从Web API服务获取的数据。 </font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> /// </ summary></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 公共ObservableCollection <Appointment> WebData</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 得到</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 返回webData;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 组</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> webData =值;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.UpdateAppointments();</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> RaisepropertyChanged(“ WebData”);</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> /// <摘要></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> ///获取或设置约会。 </font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> /// </ summary></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 公共ObservableCollection <约会>约会</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 得到</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 返回this.appointments;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 组</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.appointments =值;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> RaisepropertyChanged(“ Appointments”);</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 公共SchedulerViewModel()</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.webAPIService = new WebAPIService();</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.Appointments = new ObservableCollection <Appointment>();</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.InitializeEventColor();</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.GetDataFromWebAPI();</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 私有异步void GetDataFromWebAPI()</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.WebData =等待webAPIService.RefreshDataAsync();</font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> var random = new Random();</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> foreach(this.WebData中的var scheduleEvent)</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> ////为网络约会添加了随机颜色</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> scheduleEvent.Color = this.colorCollection [random.Next(9)];</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 私有void InitializeEventColor()</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.colorCollection =新的List <Color>();</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.colorCollection.Add(Color.FromHex(“#FF339933”));</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.colorCollection.Add(Color.FromHex(“#FF00ABA9”));</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.colorCollection.Add(Color.FromHex(“#FFE671B8”));</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.colorCollection.Add(Color.FromHex(“#FF1BA1E2”));</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.colorCollection.Add(Color.FromHex(“#FFD80073”));</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.colorCollection.Add(Color.FromHex(“#FFA2C139”));</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.colorCollection.Add(Color.FromHex(“#FFA2C139”));</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.colorCollection.Add(Color.FromHex(“#FFD80073”));</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.colorCollection.Add(Color.FromHex(“#FF339933”));</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.colorCollection.Add(Color.FromHex(“#FFE671B8”));</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.colorCollection.Add(Color.FromHex(“#FF00ABA9”));</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 私有void RaisepropertyChanged(string propertyName)</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 如果(PropertyChanged!= null)</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> PropertyChanged.Invoke(this,new PropertyChangedEventArgs(propertyName));</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font>
您可以使用映射技术将自定义数据与Scheduler组件绑定。用ScheduleAppointmentMapping类的等效属性映射自定义约会的属性。现在,将SchedulerViewModel设置为Scheduler的BindingContext,以将SchedulerViewModel属性绑定到Scheduler,并将接收到的约会集合指定为Scheduler 的数据源。
<font style="vertical-align: inherit;"><font style="vertical-align: inherit;"><?xml version =“ 1.0” encoding =“ utf-8”吗?></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> <ContentPage xmlns =“ //xamarin.com/schemas/2014/forms”</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> xmlns:x =“ //schemas.microsoft.com/winfx/2009/xaml”</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> xmlns:syncfusion =“ clr-namespace:Syncfusion.SfSchedule.XForms; assembly = Syncfusion.SfSchedule.XForms”</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> xmlns:local =“ clr-namespace:OnDemandLoading_Scheduler”</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> x:Class =“ OnDemandLoading_Scheduler.SchedulerPage”></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> <ContentPage.Content></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> <syncfusion:SfSchedule x:Name =“ schedule” </font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> ScheduleView =“ MonthView” </font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> DataSource =“ {绑定约会}”></font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> <syncfusion:SfSchedule.AppointmentMapping></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> <syncfusion:ScheduleAppointmentMapping </font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> SubjectMapping =“主题”</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> StartTimeMapping =“ StartTime”</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> EndTimeMapping =“ EndTime”</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> IsAllDayMapping =“ AllDay”</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> ColorMapping =“颜色”</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> RecurrenceRuleMapping =“ RecurrenceRule” /></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> </syncfusion:SfSchedule.AppointmentMapping></font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> <syncfusion:SfSchedule.MonthViewSettings></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> <syncfusion:MonthViewSettings AppointmentDisplayMode =“ Appointment” /></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> </syncfusion:SfSchedule.MonthViewSettings></font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> <syncfusion:SfSchedule.BindingContext></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> <local:SchedulerViewModel /></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> </syncfusion:SfSchedule.BindingContext></font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> </ syncfusion:SfSchedule></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> </ContentPage.Content></font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> <ContentPage.Behaviors></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> <local:SchedulerPageBehavior /></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> </ContentPage.Behaviors></font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> </ ContentPage></font></font><font></font>
按需加载约会
最初,您可以在所有“计划程序”视图的可见日期范围内加载筛选约会。在Web上异步更改数据时,您还可以在Scheduler中更新约会。
<font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> /// <摘要></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> ///获取或设置从Web API服务获取的数据。 </font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> /// </ summary></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 公共ObservableCollection <Appointment> WebData</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 得到</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 返回webData;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 组</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> webData =值;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.UpdateAppointments();</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> RaisepropertyChanged(“ WebData”);</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> …</font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> /// <摘要></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> ///更新约会集合属性以按需加载约会。</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> /// </ summary></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 公共无效UpdateAppointments()</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 如果(this.visibleDates == null)</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 返回;</font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 如果(this.webData == null || this.webData.Count == 0)</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 返回;</font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> var约会=新的ObservableCollection <Appointment>();</font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> foreach(this.webData中的约会应用程序)</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 如果((this.visibleDates.First()<= App.StartTime.Date && this.visibleDates.Last()> = App.StartTime.Date)||</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> (this.visibleDates.First()<= App.EndTime.Date && this.visibleDates.Last()> = App.EndTime.Date))</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 约会。添加(应用程序);</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 约会=约会;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font>
滑动视图时,可以使用Scheduler控件的VisibleDatesChangedEvent在可见日期范围内更新筛选的约会。
<font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> this.schedule.VisibleDatesChangedEvent + = OnVisibleDatesChangedEvent;</font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> …</font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 私有无效OnVisibleDatesChangedEvent(对象发送者,VisibleDatesChangedEventArgs e)</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 如果(schedule.BindingContext == null)</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 返回;</font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> var scheduleViewModel = schedule.BindingContext作为SchedulerViewModel;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> scheduleViewModel.VisibleDates = e.visibleDates;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> scheduleViewModel.UpdateAppointments();</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font>
现在,已为Scheduler控件配置了一个应用程序,以通过Web API服务按需加载约会。仅使用前面的步骤运行示例将使Scheduler具有约会。
结论
在此篇文章中,我们讨论了Xamarin.Forms Scheduler中通过Web服务按需加载约会的方法。您也可以在此GitHub存储库中查看我们的项目示例。请随意尝试此示例,并在下面的评论部分中分享您的反馈或问题。您也可以通过我们的支持论坛,Direct-Trac或反馈门户与我们联系。我们很乐意为您提供帮助。
本文内容就是这样了,希望对您有所帮助~
想要购买该产品正版授权,或了解更多产品信息请点击
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自: