翻译|使用教程|编辑:莫成敏|2019-11-21 14:23:56.970|阅读 377 次
概述:在此文章中,我们将讨论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@ke049m.cn
文章转载自: