corelibraries-devexpress-dot-xtrascheduler-42999ba8.md
Provides data for the SchedulerControl.QueryResourceColorSchema event.
Namespace : DevExpress.XtraScheduler
Assembly : DevExpress.XtraScheduler.v25.2.Core.Desktop.dll
NuGet Package : DevExpress.Scheduler.CoreDesktop
public class QueryResourceColorSchemaEventArgs :
EventArgs
Public Class QueryResourceColorSchemaEventArgs
Inherits EventArgs
QueryResourceColorSchemaEventArgs is the data class for the following events:
An instance of the QueryResourceColorSchemaEventArgs class with appropriate settings is automatically created and passed to the corresponding event’s handler.
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.
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];
}
}
}
Imports DevExpress.XtraScheduler
Imports System.Collections.Generic
' ...
Namespace QueryResourceColorSchema
Partial Public Class Form1
Inherits Form
Public Sub New()
InitializeComponent()
AddResources()
' Get copies of color schemas that are curremnty used to paint resources.
PrepareResourceColorSchemas()
AddHandler schedulerControl1.LookAndFeel.StyleChanged, AddressOf LookAndFeel_StyleChanged
End Sub
Private Sub LookAndFeel_StyleChanged(ByVal sender As Object, ByVal e As EventArgs)
' Get copies of color schemas to be used to paint resources after the active skin has been changed.
PrepareResourceColorSchemas()
schedulerControl1.ActiveView.LayoutChanged()
End Sub
Private resourceColorSchemas As Dictionary(Of Object, SchedulerColorSchema) = _
New Dictionary(Of Object, SchedulerColorSchema)()
' ...
Private Sub PrepareResourceColorSchemas()
Me.resourceColorSchemas.Clear()
Dim count As Integer = Resources.Count
Dim currentColorSchemas As SchedulerColorSchemaCollection = _
schedulerControl1.GetResourceColorSchemasCopy()
Dim schemaCount As Integer = currentColorSchemas.Count
For i As Integer = 0 To count - 1
Dim resource As Resource = schedulerControl1.Storage.Resources(i)
Me.resourceColorSchemas.Add(resource.Id, currentColorSchemas(i Mod schemaCount))
Next i
End Sub
Private Sub schedulerControl1_QueryResourceColorSchema(ByVal sender As Object, _
ByVal e As QueryResourceColorSchemaEventArgs) _
Handles schedulerControl1.QueryResourceColorSchema
Dim key As Object = e.Resource.Id
If Me.resourceColorSchemas.ContainsKey(key) Then
e.ResourceColorSchema = Me.resourceColorSchemas(key)
End If
End Sub
End Class
End Namespace
Object EventArgs QueryResourceColorSchemaEventArgs
See Also