首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Syncfusion的SfSchedule不处理不同的项目类型

Syncfusion的SfSchedule不处理不同的项目类型
EN

Stack Overflow用户
提问于 2017-08-18 03:57:45
回答 1查看 175关注 0票数 0

Situation:我在UI中获得了同步SfSchedule控件。我将我的约会列表绑定到ItemsSource,如下所示:

代码语言:javascript
复制
<schedule:SfSchedule x:Name="MyCalendar"
                     ItemsSource="{Binding Appointments}"
                     ... />

我的Appointments属性是实现我编写的接口的对象列表:

代码语言:javascript
复制
private ObservableCollection<ICalendarItem> _appointments;
public ObservableCollection<ICalendarItem> Appointments
{
    get => _appointments;
    private set => Set(ref _appointments, value);
}

我有两个ICalendarItem实现:SingleCalendarItemRepetitiveCalendarItem

Problem:Syncfusion的调度控制工作得很好,只要我的Appointments列表只包含日历项类型之一,例如只包含SingleCalendarItemRepetitiveCalendarItem,就会显示我的约会。

当我将这两种对象类型添加到我的列表中时,调度控件将不会显示任何内容。即使我绑定了另一个仅由SingleCalendarItem类型的对象组成的列表,它也不会显示任何内容。

问题:当绑定项源是由多个类型组成的列表时,Syncfusion SfSchedule控件就会遇到麻烦,尽管它们实现了相同的接口。是否有人能够确认这是SfSchedule中的一个bug和/或知道如何绑定不同的对象?

EN

回答 1

Stack Overflow用户

发布于 2017-08-23 20:21:39

我相当肯定,这是一个bug在同步融合的SfSchedule控件(截至2017年8月)。找到了解决办法:我构建了一个包含任何ICalendarItem对象并公开它们的接口属性和方法的外观:

代码语言:javascript
复制
public class CalendarItemFacade : ICalendarItem
{
    private ICalendarItem _calendarItem;
    public CalendarItemFacade(ICalendarItem calendarItem)
    {
        _calendarItem = calendarItem;
    }

    public DateTime StartTime => _calendarItem.StartTime;
    // All other interface implementations follow here
}

我没有将不同日历项类型的列表分配给SfSchedule属性,而是确保它们都是我的facade类型的CalendarItemFacade

更新:我向Syncfusion:https://www.syncfusion.com/support/directtrac/incidents/185839报告了这个bug。Syncfusion证实了这个问题。这个错误从2017年9月14日开始就被修复了--显然是要被测试的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45748307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档