We have recently introduced a new feature in RadScheduler for Silverlight/WPF - Resource Grouping. Now I will tell you more about how to customize the look and feel of the appointments in every resource group including the header of this group.
All you have to do is set a ResourceStyleMapping object associated with every resource:
Using this object you can set the following properties:
ResourceName - the name of the resource that should be associated with this style
ResourceType - the name of the type, to which the resource belongs
ResourceBrush - the value of this property is used to set color of the header of the resource group and to set a background of the appointments in this group
AppointmentBrush - the value of this property is used to set color of the appointments in this group different from the background of the group header
MouseOverAppointmentBrush - the value of this property is used to set color of the appointments on mouse over
SelectedAppointmentBrush - the value of this property is used to set color of the appointments when they are clicked
AppointmentTemplate – a property of type DataTemplate. Use this property to completely change the look of an appointment
<telerik:RadScheduler x:Name="scheduler" GroupBy="Person"> <telerik:RadScheduler.Resources> <ImageBrush x:Key="OceanBackground" ImageSource="Ocean.png" Stretch="UniformToFill" /> <ImageBrush x:Key="DiscoBackground" ImageSource="Disco.png" Stretch="UniformToFill" /> <ImageBrush x:Key="RelaxBackground" ImageSource="Relax.png" Stretch="UniformToFill" /> <DataTemplate x:Key="JohnAppointmentTemplate"> <Grid> <ToolTipService.ToolTip> <StackPanel> <Image Source="John.jpg" /> <TextBlock Text="assigned to John" /> </StackPanel> </ToolTipService.ToolTip> <TextBlock Text="{Binding Occurrence.Appointment.Subject}" Height="20"/> </Grid> </DataTemplate> <DataTemplate x:Key="MarryAppointmentTemplate"> <Grid> <ToolTipService.ToolTip> <StackPanel> <Image Source="Marry.jpg" /> <TextBlock Text="assigned to Marry" /> </StackPanel> </ToolTipService.ToolTip> <TextBlock Text="{Binding Occurrence.Appointment.Subject}"/> </Grid> </DataTemplate> <DataTemplate x:Key="SamAppointmentTemplate"> <Grid> <ToolTipService.ToolTip> <StackPanel> <Image Source="Samanta.jpg" /> <TextBlock Text="assigned to Sam" /> </StackPanel> </ToolTipService.ToolTip> <TextBlock Text="{Binding Occurrence.Appointment.Subject}"/> </Grid> </DataTemplate> </telerik:RadScheduler.Resources> <telerik:RadScheduler.ResourceTypes> <telerik:ResourceType Name="Person" AllowMultipleSelection="True" > <telerik:ResourceType.Resources> <telerik:Resource ResourceName="John" /> <telerik:Resource ResourceName="Marry" /> <telerik:Resource ResourceName="Samanta" /> </telerik:ResourceType.Resources> </telerik:ResourceType> </telerik:RadScheduler.ResourceTypes> <telerik:RadScheduler.ResourceStyleMappings> <telerik:ResourceStyleMapping ResourceType="Person" ResourceName="John" ResourceBrush="{StaticResource OceanBackground}" AppointmentTemplate="{StaticResource JohnAppointmentTemplate}" /> <telerik:ResourceStyleMapping ResourceType="Person" ResourceName="Marry" ResourceBrush="{StaticResource DiscoBackground}" AppointmentTemplate="{StaticResource MarryAppointmentTemplate}"/> <telerik:ResourceStyleMapping ResourceType="Person" ResourceName="Samanta" ResourceBrush="{StaticResource RelaxBackground}" AppointmentTemplate="{StaticResource SamAppointmentTemplate}"/> </telerik:RadScheduler.ResourceStyleMappings> </telerik:RadScheduler>
Below is a screenshot of the result you can achieve using the properties mentioned above.
More about resource grouping and resource style mapping features of RadScheduler you can find here or just contact us with any questions or comments.