QueryResourceColorSchemaEventArgs Class

Namespace: DevExpress.XtraScheduler

Assembly: DevExpress.XtraScheduler.v20.1.Core.dll

Declaration

public class QueryResourceColorSchemaEventArgs :
    EventArgs
Public Class QueryResourceColorSchemaEventArgs
    Inherits EventArgs

Remarks

An instance of the QueryResourceColorSchemaEventArgs class with appropriate settings is automatically created and passed to the corresponding event's handler.

Examples

This example demonstrates how to link a specific SchedulerColorSchema to each visible resource.

Call the SchedulerControl.GetResourceColorSchemasCopy method to obtain a collection of color schemas that are currently available for resource coloring (according to the currently active skin) and handle the SchedulerControl.QueryResourceColorSchema event to associate a specific color schema from the obtained collection to each resource displayed in the scheduler control.

TIP

A complete sample project is available in the DevExpress Code Examples database at http://www.devexpress.com/example=E3209.

using DevExpress.XtraScheduler;
using System.Collections.Generic;
// ...

namespace QueryResourceColorSchema {
    public partial class Form1 : Form {
        public Form1() {
            InitializeComponent();
            AddResources();

            // Get copies of color schemas that are curremnty used to paint resources.
            PrepareResourceColorSchemas();

            schedulerControl1.LookAndFeel.StyleChanged += new EventHandler(LookAndFeel_StyleChanged);
        }

        void LookAndFeel_StyleChanged(object sender, EventArgs e) {
            // Get copies of color schemas to be used to paint resources
            // after the active skin has been changed.
            PrepareResourceColorSchemas();

            schedulerControl1.ActiveView.LayoutChanged();
        }

        // ...

        Dictionary<object, SchedulerColorSchema> resourceColorSchemas = 
            new Dictionary<object, SchedulerColorSchema>();

        private void PrepareResourceColorSchemas() {
            this.resourceColorSchemas.Clear();
            int count = Resources.Count;
            SchedulerColorSchemaCollection currentColorSchemas = 
                schedulerControl1.GetResourceColorSchemasCopy();
            int schemaCount = currentColorSchemas.Count;
            for (int i = 0; i < count; i++) {
                Resource resource = schedulerControl1.Storage.Resources[i];
                this.resourceColorSchemas.Add(resource.Id, currentColorSchemas[i % schemaCount]);
            }
        }

        private void schedulerControl1_QueryResourceColorSchema(object sender, 
                                                                QueryResourceColorSchemaEventArgs e) {
            object key = e.Resource.Id;
            if (this.resourceColorSchemas.ContainsKey(key))
                e.ResourceColorSchema = this.resourceColorSchemas[key];
        }
    }
}

Inheritance

Object
EventArgs
QueryResourceColorSchemaEventArgs
See Also