DevExpress v24.2 Update — Your Feedback Matters
Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.
Take the survey
Not interested
DayViewBase.TimeRulerCellStyle Property
Gets or sets the style of the time ruler cells. This is a dependency property.
Namespace : DevExpress.Xpf.Scheduling
Assembly :
DevExpress.Xpf.Scheduling.v24.2.dll
NuGet Package :
DevExpress.Wpf.Scheduling
# Declaration
public Style TimeRulerCellStyle { get ; set ; }
Public Property TimeRulerCellStyle As Style
# Property Value
Type
Description
Style
A Style object that represents a style to be applied to cells within a time ruler.
Style objects modify target type instances with the same group of properties, resources, and event handlers.
Target Type : DevExpress.Xpf.Scheduling.Visual.TimeRulerCellControl .
# Example
The following example demonstrates how to add multiple time rulers to the scheduler’s Day View using the MVVM architectural pattern.
Use the DayViewBase.TimeRulersSource property to bind the view to a collection of objects containing time ruler settings described in the ViewModel. The DayViewBase.TimeRulerTemplate property specifies a data template based on which time rulers are generated.
Create a custom style for the TimeRulerCellControl to specify format strings for displaying time in the time rulers’ time scale.
View Example
<dx:ThemedWindow x:Class ="WpfSchedulerTimeRulers.MainWindow" mc:Ignorable ="d" Title ="Time Rulers" Height ="500" Width ="800"
xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d ="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc ="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local ="clr-namespace:WpfSchedulerTimeRulers"
xmlns:dx ="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxmvvm ="http://schemas.devexpress.com/winfx/2008/xaml/mvvm"
xmlns:dxsch ="http://schemas.devexpress.com/winfx/2008/xaml/scheduling"
xmlns:dxschv ="http://schemas.devexpress.com/winfx/2008/xaml/scheduling/visual"
DataContext ="{dxmvvm:ViewModelSource local:MainViewModel}" >
<dx:ThemedWindow.Resources >
<DataTemplate x:Key ="TimeRulerGeneratorTemplate" >
<ContentControl >
<dxsch:TimeRuler Caption ="{Binding Caption}" ShowMinutes ="{Binding ShowMinutes}" TimeZone ="{Binding TimeZone}" AlwaysShowTimeDesignator ="{Binding AlwaysShowTimeDesignator}" />
</ContentControl >
</DataTemplate >
<Style TargetType ="{x:Type dxschv:TimeRulerCellControl}" >
<Setter Property ="HourStringFormat" Value ="{}{0:HH}" />
<Setter Property ="MinuteStringFormat" Value ="{}{0:mm}" />
</Style >
</dx:ThemedWindow.Resources >
<Grid >
<dxsch:SchedulerControl x:Name ="scheduler" >
<dxsch:DayView x:Name ="dayView" ShowWorkTimeOnly ="True" TimeScale ="00:30:00" TimeRulersSource ="{Binding TimeRulers}" TimeRulerTemplate ="{StaticResource TimeRulerGeneratorTemplate}" />
</dxsch:SchedulerControl >
</Grid >
</dx:ThemedWindow >
Imports System
Imports System.Collections.ObjectModel
Imports DevExpress.Mvvm.POCO
Namespace WpfSchedulerTimeRulers
Public Class MainViewModel
Private privateTimeRulers As ObservableCollection(Of TimeRulerViewModel)
Public Overridable Property TimeRulers() As ObservableCollection(Of TimeRulerViewModel)
Get
Return privateTimeRulers
End Get
Protected Set (ByVal value As ObservableCollection(Of TimeRulerViewModel))
privateTimeRulers = value
End Set
End Property
Protected Sub New ()
CreateTimeRulers()
End Sub
Private Sub CreateTimeRulers()
TimeRulers = New ObservableCollection(Of TimeRulerViewModel)()
TimeRulers.Add(TimeRulerViewModel.Create("GMT" , TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time" )))
TimeRulers.Add(TimeRulerViewModel.Create("Local" , TimeZoneInfo.Local))
End Sub
End Class
Public Class TimeRulerViewModel
Public Shared Function Create() As TimeRulerViewModel
Return ViewModelSource.Create(Function () New TimeRulerViewModel())
End Function
Public Shared Function Create(ByVal caption As String , ByVal timeZoneInfo As TimeZoneInfo) As TimeRulerViewModel
Dim timeRuler As TimeRulerViewModel = TimeRulerViewModel.Create()
timeRuler.Caption = caption
timeRuler.TimeZone = timeZoneInfo
timeRuler.AlwaysShowTimeDesignator = False
timeRuler.ShowMinutes = False
Return timeRuler
End Function
Protected Sub New ()
End Sub
Public Overridable Property Caption() As String
Public Overridable Property TimeZone() As TimeZoneInfo
Public Overridable Property AlwaysShowTimeDesignator() As Boolean
Public Overridable Property ShowMinutes() As Boolean
End Class
End Namespace
using System ;
using System.Collections.ObjectModel ;
using DevExpress.Mvvm.POCO;
namespace WpfSchedulerTimeRulers
{
public class MainViewModel
{
public virtual ObservableCollection<TimeRulerViewModel> TimeRulers { get ; protected set ; }
protected MainViewModel ( )
{
CreateTimeRulers();
}
private void CreateTimeRulers ( )
{
TimeRulers = new ObservableCollection<TimeRulerViewModel>();
TimeRulers.Add(TimeRulerViewModel.Create("GMT" , TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time" )));
TimeRulers.Add(TimeRulerViewModel.Create("Local" , TimeZoneInfo.Local));
}
}
public class TimeRulerViewModel
{
public static TimeRulerViewModel Create ( )
{
return ViewModelSource.Create(() => new TimeRulerViewModel());
}
public static TimeRulerViewModel Create (string caption, TimeZoneInfo timeZoneInfo )
{
TimeRulerViewModel timeRuler = TimeRulerViewModel.Create();
timeRuler.Caption = caption;
timeRuler.TimeZone = timeZoneInfo;
timeRuler.AlwaysShowTimeDesignator = false ;
timeRuler.ShowMinutes = false ;
return timeRuler;
}
protected TimeRulerViewModel ( ) { }
public virtual string Caption { get ; set ; }
public virtual TimeZoneInfo TimeZone { get ; set ; }
public virtual bool AlwaysShowTimeDesignator { get ; set ; }
public virtual bool ShowMinutes { get ; set ; }
}
}
See Also