提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:龚雪|2020-12-17 10:01:12.473|阅读 348 次
概述:在本文中,主要为大家介绍如何进行WPF Scheduler控件的迁移。DevExpress WPF v20.2目前正式支持.NET 5.0,欢迎下载新版体验!
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
下载DevExpress v20.2完整版 DevExpress v20.2汉化资源获取
通过DevExpress WPF Controls,您能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。
在下载并安装新的Scheduler Control后,技术团队针对WPF的性能和开发范例对产品进行了优化。
下表有助于总结新的Scheduler与旧的Scheduler之间的区别,性能已经得到了很大的提升。
从提高的渲染速度到快速的滚动和记录加载,新的WPF Scheduler在设计时考虑了最困难的性能用例。
与旧版本不同,新的WPF Scheduler 是为了充分利用MVVM和WPF自定义(模板,样式)而构建的。 开始使用新的Scheduler后,您会发现可以完全控制其视图模型(单元格/约会选择、约会编辑等),并使用标准WPF方法自定义控件。
以下迁移指南可以帮助您将项目从较旧的项目迁移到新的Scheduler Control。
项目参数和命名空间:
删除对DevExpress.Xpf.Scheduler.v17.2.dll程序集的引用,添加对DevExpress.Xpf.Scheduling.v17.2.dll程序集的引用。
将
XAML
xmlns:dxsch="//schemas.devexpress.com/winfx/2008/xaml/scheduler"
更改为
XAML
xmlns:dxsch="//schemas.devexpress.com/winfx/2008/xaml/scheduling"
在新的Scheduler中Week view类似于以前的,在新的Scheduler中,以前的 没有等效功能。
具有默认设置的所有视图类型都可以“开箱即用”,但是在在XAML中,您可以指定任意数量的具有不同类型和设置的视图。所有视图都包含在集合中,激活视图由 属性指定。
属性允许最终用户确定在切换视图时单击哪个菜单项。
如以下代码示例所示,指定了视图属性:
XAML
<dxsch:SchedulerControl> <dxsch:DayView x:Name="dayViewOne" Caption="DayView One" ResourcesPerPage="5" ShowAllDayArea="False" ShowWorkTimeOnly="True" SnapToCellsMode="Never" TimeScale="00:10:00" /> <dxsch:DayView x:Name="dayViewTwo" Caption="DayView Two" ResourcesPerPage="5" ShowAllDayArea="False" ShowWorkTimeOnly="True" SnapToCellsMode="Never" TimeScale="00:10:00" /> <dxsch:WorkWeekView x:Name="workWeekView" Caption="My View" ResourcesPerPage="5" ShowAllDayArea="False" ShowWorkTimeOnly="True" SnapToCellsMode="Never" TimeScale="00:10:00" /> <dxsch:WeekView x:Name="weekView" ResourcesPerPage="5" ShowAllDayArea="False" ShowWorkTimeOnly="True" SnapToCellsMode="Never" TimeScale="00:10:00" /> <dxsch:MonthView x:Name="monthView" WeekCount="4" /> </dxsch:SchedulerControl>
使用 对象替代对象进行数据绑定,使用标准WPF绑定将数据源绑定到SchedulerControl,绑定的数据源需要Appointment和资源映射。
映射名称具有以下差异:
标签和状态可以使用和属性以与Appointments和Resources相同的方式存储在数据源中并进行绑定。 在这种情况下,需要标签和状态映射。
下面的代码示例演示Scheduler,其调度和资源已绑定到数据上下文。该代码为 Note 字段指定了通用映射和自定义映射。
XAML
<dxsch:SchedulerControl.DataSource> <dxsch:DataSource AppointmentsSource="{Binding Appointments}" ResourcesSource="{Binding Resources}"> <dxsch:DataSource.AppointmentMappings> <dxsch:AppointmentMappings Start="StartTime" End="EndTime" AllDay="AllDay" Subject="Subject" Id="Id" Description="Description" LabelId="LabelId" Location="Location" RecurrenceInfo="RecurrenceInfo" Reminder="ReminderInfo" ResourceId="ResourceId" StatusId="StatusId" TimeZoneId="TimeZoneId" Type="Type"> <dxsch:CustomFieldMapping Mapping="Note" Name="Note" /> </dxsch:AppointmentMappings> </dxsch:DataSource.AppointmentMappings> <dxsch:DataSource.ResourceMappings> <dxsch:ResourceMappings Id="Id" Caption="Caption" /> </dxsch:DataSource.ResourceMappings> </dxsch:DataSource> </dxsch:SchedulerControl.DataSource>
类实例代表Appointment对象,使用以下成员可以访问AppointmentItem集合:
最终用户使用in-place编辑器或appointment编辑表单创建新的appointment时,将触发SchedulerControl.InitNewAppointment事件,您可以处理此事件以修改新创建的appointment。
随后,SchedulerControl.AppointmentsUpdated事件会触发,更改appointment时,将触发SchedulerControl.AppointmentsUpdated事件。 您可以处理此事件,以将更改保存到外部数据源。但是它不提供有关已修改的appointment信息,更通用的事件是SchedulerControl.ItemPropertyChangedevent,它指示属性更改以及约会、资源、状态和标签的更新。
要访问选定appointments的源对象,请使用SchedulerControl.SelectedAppointmentsSource方法。 使用SchedulerControl.GetAppointmentItemBySourceObject方法可通过其源对象获取appointment。
SchedulerControl.GetAppointments方法返回指定时间间隔内的所有约会,包括出现和异常。 若要确定递归链间隔,请分别使用AppointmentItem.QueryStart和AppointmentItem.QueryEnd属性。您可以通过将递归链指定为指定的递归模式的异常来为递归链分配任何约会。
ResourceItem类实例代表Resource对象,可使用以下成员访问ResourceItem集合:
若要获取所选资源,请使用SchedulerControl.SelectedResource属性。使用SchedulerControl.SelectedResourceSource方法来访问所选资源背后的源对象,要通过其源对象获取资源,请使用SchedulerControl.GetResourceItemBySourceObject方法。
资源不包含关联的图像,旧的Scheduler具有Resource.ImageBytes属性,该属性提供图片以显示在资源标题中。此时,您应该使用自定义字段来存储和获取图像,因此需要自定义字段映射。
若要在资源标题中显示图像(文本或任何控件),请创建一个自定义模板并将其分配给ViewBase.ResourceHeaderContentTemplate属性。 此模板的DataContext是一个ResourceHeaderViewModel对象,该对象提供Resource和Interval属性。您可以在Resource Header数据模板内的绑定中使用这些属性。
AppointmentLabelItem类实例表示约会的Label对象,可以使用SchedulerControl.LabelItems属性访问标签的集合。 您可以使用与约会和资源数据相同的方式将包含约会标签数据的数据源绑定到DataSource.AppointmentLabelSource。
AppointmentStatusItem类实例代表约会的Status对象,使用SchedulerControl.StatusItems属性可以访问状态集合。 您可以用与约会和资源数据相同的方式将包含约会状态数据的数据源绑定到DataSource.AppointmentStatusesSource。
ReminderItem类实例表示约会的提醒,其后代 - RecurringReminderItem类 - 提醒定期约会系列。可以使用Appointment.Reminders属性访问特定约会的提醒集合。 若要创建提醒,请使用AppointmentItem.CreateNewReminder方法,HasReminder属性不再可用。
SchedulerControl.CheckTriggeredReminders方法立即调用所有警报以进行过期约会,TriggeredReminder对象引用了触发的提醒,该对象结合了ReminderItem,相关的AppointmentItem和警报时间。 使用SchedulerControl.TriggeredReminders属性可以访问TriggeredReminder对象的集合。
DevExpress技术交流群2:775869749 欢迎一起进群讨论
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:慧都网本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
行业领先的界面控件开发包,帮助企业构建卓越应用!
DevExpress DXperience Subscription高性价比的企业级.NET用户界面套包,助力企业创建卓越应用!
DevExpress WPF Subscription高效MVVM开发模式,WPF界面解决方案首选工具,帮助企业实现酷炫动效界面。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢