Mini Kabibi Habibi
<local:SchedulerDemoModule x:Class="SchedulerDemo.TimeLineView" Height="400" Width="800"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxsch="http://schemas.devexpress.com/winfx/2008/xaml/scheduler"
xmlns:dxschcore="clr-namespace:DevExpress.XtraScheduler;assembly=DevExpress.XtraScheduler.v13.1.Core"
xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
xmlns:local="clr-namespace:SchedulerDemo" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase">
<local:SchedulerDemoModule.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/SchedulerDemo;component/Themes/Margin.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</local:SchedulerDemoModule.Resources>
<dxdb:DemoModuleControl>
<dxdb:DemoModuleControl.Resources>
<local:DefaultDemoViewModel x:Key="SchedulerDemoModel" />
<local:AppointmentDictionaryToMappingConverter x:Key="AppointmentConverter" />
<local:ResourceDictionaryToMappingConverter x:Key="ResourceConverter" />
</dxdb:DemoModuleControl.Resources>
<dxdb:DemoModuleControl.OptionsContent>
<StackPanel Orientation="Vertical">
<dx:GroupFrame Header="View Options:" MinWidth="150" Margin="{DynamicResource GroupMargin}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="Intervals Count" Margin="{DynamicResource TextMargin}" VerticalAlignment="Center" />
<dxe:SpinEdit Grid.Column="1" Name="spnIntervalCount"
Value="{Binding Path=DataContext.SchedulerControl.TimelineView.IntervalCount, Mode=TwoWay, RelativeSource={RelativeSource Self}}"
HorizontalAlignment="Stretch" Width="75" MinValue="1" MaxValue="100" IsFloatValue="False" Margin="{DynamicResource ElementMargin}" />
</Grid>
</dx:GroupFrame>
<dx:GroupFrame Header="Appointments:" MinWidth="150" Margin="{DynamicResource GroupMargin}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="Snap To Cells:" Margin="{DynamicResource TextMargin}" VerticalAlignment="Center" />
<dxe:ComboBoxEdit Grid.Column="1" Name="cbSnapToCellsMode" HorizontalAlignment="Stretch" Width="75" IsTextEditable="False"
SelectedItem="{Binding Path=DataContext.SchedulerControl.TimelineView.AppointmentDisplayOptions.SnapToCellsMode, Mode=TwoWay, RelativeSource={RelativeSource Self}}"
Margin="{DynamicResource ElementMargin}">
<dxe:ComboBoxEdit.ItemsSource>
<local:AppointmentSnapToCellsModeList>
<dxschcore:AppointmentSnapToCellsMode>Always</dxschcore:AppointmentSnapToCellsMode>
<dxschcore:AppointmentSnapToCellsMode>Auto</dxschcore:AppointmentSnapToCellsMode>
<dxschcore:AppointmentSnapToCellsMode>Never</dxschcore:AppointmentSnapToCellsMode>
</local:AppointmentSnapToCellsModeList>
</dxe:ComboBoxEdit.ItemsSource>
</dxe:ComboBoxEdit>
</Grid>
</dx:GroupFrame>
<dx:GroupFrame Header="Selection Bar:" MinWidth="150" Margin="{DynamicResource GroupMargin}">
<StackPanel>
<dxe:CheckEdit Content="Visible" Name="chkVisible" EditValue="{Binding Path=DataContext.SchedulerControl.TimelineView.SelectionBar.Visible, Mode=TwoWay, RelativeSource={RelativeSource Self}}" Margin="{DynamicResource ElementMargin}" />
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="Height: " Margin="{DynamicResource TextMargin}" VerticalAlignment="Center" />
<dxe:SpinEdit Grid.Column="1" Name="spnSelectionBarHeight" Margin="{DynamicResource ElementMargin}" VerticalAlignment="Center"
Value="{Binding Path=DataContext.SchedulerControl.TimelineView.SelectionBar.Height, Mode=TwoWay, RelativeSource={RelativeSource Self}}"
HorizontalAlignment="Stretch" Width="75" MinValue="0" MaxValue="100" IsFloatValue="False" IsEnabled="{Binding ElementName=chkVisible, Path=IsChecked}"></dxe:SpinEdit>
</Grid>
</StackPanel>
</dx:GroupFrame>
<dx:GroupFrame Header="Time Scales" MinWidth="150" Margin="{DynamicResource GroupMargin}">
<Grid Margin="{DynamicResource ElementMargin}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" MinWidth="50" />
<ColumnDefinition Width="Auto" MinWidth="10" />
<ColumnDefinition Width="*" MinWidth="10" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" MinHeight="40" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<TextBlock Grid.Row="1" Grid.Column="1" Text="Enabled" Grid.ColumnSpan="2" Margin="4,0,4,4">
<TextBlock.RenderTransform>
<RotateTransform Angle="-90"></RotateTransform>
</TextBlock.RenderTransform>
</TextBlock>
<TextBlock Grid.Row="1" Grid.Column="2" Text="Visible" Margin="4,0,4,4">
<TextBlock.RenderTransform>
<RotateTransform Angle="-90"></RotateTransform>
</TextBlock.RenderTransform>
</TextBlock>
<TextBlock Grid.Row="1" Grid.Column="0" Text="{Binding Path=DataContext.YearScale.DisplayName, Mode=OneWay, RelativeSource={RelativeSource Self}}" Margin="4,4,4,0"></TextBlock>
<dxe:CheckEdit Name="chYearScaleEnabled" Grid.Row="1" Grid.Column="1" EditValue="{Binding Path=DataContext.YearScale.Enabled, Mode=TwoWay, RelativeSource={RelativeSource Self}}" Margin="4,4,4,0" />
<dxe:CheckEdit Name="chYearScaleVisible" Grid.Row="1" Grid.Column="2" EditValue="{Binding Path=DataContext.YearScale.Visible, Mode=TwoWay, RelativeSource={RelativeSource Self}}" Margin="4,4,4,0" />
<TextBlock Grid.Row="2" Grid.Column="0" Text="{Binding Path=DataContext.QuarterScale.DisplayName, Mode=OneWay, RelativeSource={RelativeSource Self}}" Margin="4,4,4,0"></TextBlock>
<dxe:CheckEdit Name="chQuarterScaleEnabled" Grid.Row="2" Grid.Column="1" EditValue="{Binding Path=DataContext.QuarterScale.Enabled, Mode=TwoWay, RelativeSource={RelativeSource Self}}" Margin="4,4,4,0" />
<dxe:CheckEdit Name="chQuarterScaleVisible" Grid.Row="2" Grid.Column="2" EditValue="{Binding Path=DataContext.QuarterScale.Visible, Mode=TwoWay, RelativeSource={RelativeSource Self}}" Margin="4,4,4,0" />
<TextBlock Grid.Row="3" Grid.Column="0" Text="{Binding Path=DataContext.MonthScale.DisplayName, Mode=OneWay, RelativeSource={RelativeSource Self}}" Margin="4,4,4,0"></TextBlock>
<dxe:CheckEdit Name="chMonthScaleEnabled" Grid.Row="3" Grid.Column="1" EditValue="{Binding Path=DataContext.MonthScale.Enabled, Mode=TwoWay, RelativeSource={RelativeSource Self}}" Margin="4,4,4,0" />
<dxe:CheckEdit Name="chMonthScaleVisible" Grid.Row="3" Grid.Column="2" EditValue="{Binding Path=DataContext.MonthScale.Visible, Mode=TwoWay, RelativeSource={RelativeSource Self}}" Margin="4,4,4,0" />
<TextBlock Grid.Row="4" Grid.Column="0" Text="{Binding Path=DataContext.WeekScale.DisplayName, Mode=OneWay, RelativeSource={RelativeSource Self}}" Margin="4,4,4,0"></TextBlock>
<dxe:CheckEdit Name="chWeekScaleEnabled" Grid.Row="4" Grid.Column="1" EditValue="{Binding Path=DataContext.WeekScale.Enabled, Mode=TwoWay, RelativeSource={RelativeSource Self}}" Margin="4,4,4,0" />
<dxe:CheckEdit Name="chWeekScaleVisible" Grid.Row="4" Grid.Column="2" EditValue="{Binding Path=DataContext.WeekScale.Visible, Mode=TwoWay, RelativeSource={RelativeSource Self}}" Margin="4,4,4,0" />
<TextBlock Grid.Row="5" Grid.Column="0" Text="{Binding Path=DataContext.DayScale.DisplayName, Mode=OneWay, RelativeSource={RelativeSource Self}}" Margin="4,4,4,0"></TextBlock>
<dxe:CheckEdit Name="chDayScaleEnabled" Grid.Row="5" Grid.Column="1" EditValue="{Binding Path=DataContext.DayScale.Enabled, Mode=TwoWay, RelativeSource={RelativeSource Self}}" Margin="4,4,4,0" />
<dxe:CheckEdit Name="chDayScaleVisible" Grid.Row="5" Grid.Column="2" EditValue="{Binding Path=DataContext.DayScale.Visible, Mode=TwoWay, RelativeSource={RelativeSource Self}}" Margin="4,4,4,0" />
<TextBlock Grid.Row="6" Grid.Column="0" Text="{Binding Path=DataContext.HourScale.DisplayName, Mode=OneWay, RelativeSource={RelativeSource Self}}" Margin="4,4,4,0"></TextBlock>
<dxe:CheckEdit Name="chHourScaleEnabled" Grid.Row="6" Grid.Column="1" EditValue="{Binding Path=DataContext.HourScale.Enabled, Mode=TwoWay, RelativeSource={RelativeSource Self}}" Margin="4,4,4,0" />
<dxe:CheckEdit Name="chHourScaleVisible" Grid.Row="6" Grid.Column="2" EditValue="{Binding Path=DataContext.HourScale.Visible, Mode=TwoWay, RelativeSource={RelativeSource Self}}" Margin="4,4,4,0" />
<TextBlock Grid.Row="7" Grid.Column="0" Text="{Binding Path=DataContext.Min15Scale.DisplayName, Mode=OneWay, RelativeSource={RelativeSource Self}}" Margin="4,4,4,0"></TextBlock>
<dxe:CheckEdit Name="chMin15ScaleEnabled" Grid.Row="7" Grid.Column="1" EditValue="{Binding Path=DataContext.Min15Scale.Enabled, Mode=TwoWay, RelativeSource={RelativeSource Self}}" Margin="4,4,4,0" />
<dxe:CheckEdit Name="chMin15ScaleVisible" Grid.Row="7" Grid.Column="2" EditValue="{Binding Path=DataContext.Min15Scale.Visible, Mode=TwoWay, RelativeSource={RelativeSource Self}}" Margin="4,4,4,0" />
</Grid>
</dx:GroupFrame>
</StackPanel>
</dxdb:DemoModuleControl.OptionsContent>
<dxsch:SchedulerControl x:Name="scheduler" ActiveViewType="Timeline" VerticalAlignment="Stretch" Start="{Binding StartTime}" DataContext="{StaticResource SchedulerDemoModel}" ShowBorder="{Binding ShowBorder}">
<dxsch:SchedulerControl.WorkWeekView>
<dxsch:WorkWeekView Enabled="False"></dxsch:WorkWeekView>
</dxsch:SchedulerControl.WorkWeekView>
<dxsch:SchedulerControl.WeekView>
<dxsch:WeekView Enabled="False"></dxsch:WeekView>
</dxsch:SchedulerControl.WeekView>
<dxsch:SchedulerControl.MonthView>
<dxsch:MonthView ResourcesPerPage="4" Enabled="False"></dxsch:MonthView>
</dxsch:SchedulerControl.MonthView>
</dxsch:SchedulerControl>
</dxdb:DemoModuleControl>
</local:SchedulerDemoModule>