Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 

TagBites.WinSchedulers

Fast and easy customized WPF schedulers controls. Inculding time scheduler / gantt control and bucket scheduler.

NuGet Package: https://www.nuget.org/packages/TagBites.WinSchedulers/

TimeScheduler example

To start using the control, all you need is a few lines of code that will define its contents.

public class SchedulerDataSource : TimeSchedulerDataSource
{
    public IList<object>[] Resources  { get; }
    public IList<TaskModel> TaskCollection { get; }

    public SchedulerDataSource()
    {
        Resources = GenerateResources();  // TODO Add custom data provider
        TaskCollection = GenerateTasks(); // TODO Add custom data provider
    }


    protected override TimeSchedulerTaskDescriptor CreateTaskDescriptor()
    {
        return new TimeSchedulerTaskDescriptor(typeof(TaskModel), nameof(TaskModel.Resource), nameof(TaskModel.Interval));
    }

    public override IList<object> LoadResources() => Resources;
    public override void LoadContent(TimeSchedulerDataSourceView view)
    {
        foreach (var task in TaskCollection)
            if (view.Interval.IntersectsWith(task.Interval) && view.Resources.Contains(task.Resource))
                view.AddTask(task);
    }
}

Full example on github: TagBites.WinSchedulers-TimeScheduler-Simple.

BucketScheduler example

public class SchedulerDataSource : BucketSchedulerDataSource
{
    public IList<object>[] Rows  { get; }
    public IList<object>[] Columns  { get; }
    public IList<BucketModel> BucketCollection { get; }

    public SchedulerDataSource()
    {
        Rows = GenerateRows();  // TODO Add custom data provider
        Columns = GenerateRows();  // TODO Add custom data provider
        BucketCollection = GenerateBuckets(); // TODO Add custom data provider
    }


    protected override TimeSchedulerTaskDescriptor CreateTaskDescriptor()
    {
        return new TimeSchedulerTaskDescriptor(typeof(TaskModel), nameof(TaskModel.Resource), nameof(TaskModel.Interval));
    }

    public override IList<object> LoadResources() => Resources;
    public override void LoadContent(TimeSchedulerDataSourceView view)
    {
        foreach (var task in TaskCollection)
            if (view.Interval.IntersectsWith(task.Interval) && view.Resources.Contains(task.Resource))
                view.AddTask(task);
    }
}

Full example on github: TagBites.WinSchedulers-BucketScheduler-Simple.

About

High performance schedulers controls for WPF.

Resources

Releases

No releases published

Packages

No packages published