Skip to main content

Create Ribbon

  • 2 minutes to read

Click the Create Ribbon Quick Actions item to generate the Scheduler’s ribbon UI. You can modify the generated XAML code.

WPFScheduler_SmartTag_CreateRibbon

Use the following technique to reduce the XAML code’s length.

Set the SchedulerControl.CommandBarStyle property to CommandBarStyle.Ribbon to display the integrated ribbon with all the available scheduler commands.

Use Bar Actions to customize the built-in Scheduler ribbon by adding an action to the SchedulerControl.RibbonActions collection. Refer to the following topic for more information: How to: Display the Integrated Ribbon for the Scheduler.

The code sample below contains the generated XAML:

<dxr:RibbonControl DockPanel.Dock="Top" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=RibbonControl}}" dxsch:SchedulerControl.Scheduler="{Binding ElementName=scheduler}">
    <dxr:RibbonDefaultPageCategory Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Categories_Default}}">
        <dxr:RibbonPage x:Name="Pages_Home" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Pages_Home}}">
            <dxr:RibbonPageGroup x:Name="Groups_Home_Appointment" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Groups_Home_Appointment}}">
                <dxb:BarButtonItem x:Name="Items_Home_Appointment_NewAppointment" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Items_Home_Appointment_NewAppointment}}"/>
                <dxb:BarButtonItem x:Name="Items_Home_Appointment_NewRecurringAppointment" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Items_Home_Appointment_NewRecurringAppointment}}"/>
            </dxr:RibbonPageGroup>
            <dxr:RibbonPageGroup x:Name="Groups_Home_Navigate" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Groups_Home_Navigate}}">
                <dxb:BarButtonItem x:Name="Items_Home_Navigate_Backward" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Items_Home_Navigate_Backward}}"/>
                <dxb:BarButtonItem x:Name="Items_Home_Navigate_Forward" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Items_Home_Navigate_Forward}}"/>
                <dxb:BarButtonItem x:Name="Items_Home_Navigate_GotoToday" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Items_Home_Navigate_GotoToday}}"/>
            </dxr:RibbonPageGroup>
            <dxr:RibbonPageGroup x:Name="Groups_Home_Arrange" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Groups_Home_Arrange}}">
                <dxb:BarLinkContainerItem x:Name="Items_Home_Arrange_Views" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Items_Home_Arrange_Views}}"/>
            </dxr:RibbonPageGroup>
            <dxr:RibbonPageGroup x:Name="Groups_Home_GroupBy" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Groups_Home_GroupBy}}">
                <dxb:BarCheckItem x:Name="Items_Home_GroupBy_GroupByNone" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Items_Home_GroupBy_GroupByNone}}"/>
                <dxb:BarCheckItem x:Name="Items_Home_GroupBy_GroupByDate" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Items_Home_GroupBy_GroupByDate}}"/>
                <dxb:BarCheckItem x:Name="Items_Home_GroupBy_GroupByResource" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Items_Home_GroupBy_GroupByResource}}"/>
            </dxr:RibbonPageGroup>
            <dxr:RibbonPageGroup x:Name="Groups_Home_TimeScale" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Groups_Home_TimeScale}}">
                <dxb:BarSubItem x:Name="Items_Home_TimeScale_SwitchTimeScale" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Items_Home_TimeScale_SwitchTimeScale}}"/>
                <dxb:BarEditItem x:Name="Items_Home_TimeScale_IntervalCount" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Items_Home_TimeScale_IntervalCount}}"/>
                <dxb:BarSubItem x:Name="Items_Home_TimeScale_TimeScaleCaptions" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Items_Home_TimeScale_ShowTimeScaleCaptions}}"/>
            </dxr:RibbonPageGroup>
            <dxr:RibbonPageGroup x:Name="Groups_Home_Layout" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Groups_Home_Layout}}">
                <dxb:BarCheckItem x:Name="Items_Home_Layout_ShowWorkTimeOnly" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Items_Home_Layout_ShowWorkTimeOnly}}"/>
                <dxb:BarSubItem x:Name="Items_Home_Layout_SwitchSnapToCells" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Items_Home_Layout_SwitchSnapToCells}}"/>
            </dxr:RibbonPageGroup>
            <dxr:RibbonPageGroup x:Name="Groups_Home_Window" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Groups_Home_Window}}">
                <dxb:BarButtonItem x:Name="Items_Home_Window_ShowRemindersWindow" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Items_Home_Window_ShowRemindersWindow}}"/>
            </dxr:RibbonPageGroup>
        </dxr:RibbonPage>
    </dxr:RibbonDefaultPageCategory>
    <dxr:RibbonPageCategory x:Name="Categories_Appointment" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Categories_Appointment}}">
        <dxr:RibbonPage x:Name="Pages_Appointment" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Pages_Appointment}}">
            <dxr:RibbonPageGroup x:Name="Groups_Appointment_Actions" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Groups_Appointment_Actions}}">
                <dxb:BarButtonItem x:Name="Items_Appointment_Actions_Open" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Items_Appointment_Actions_Open}}"/>
                <dxb:BarButtonItem x:Name="Items_Appointment_Actions_Delete" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Items_Appointment_Actions_Delete}}"/>
            </dxr:RibbonPageGroup>
            <dxr:RibbonPageGroup x:Name="Groups_Appointment_Options" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Groups_Appointment_Options}}">
                <dxb:BarSubItem x:Name="Items_Appointment_Options_ShowTimeAs" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Items_Appointment_Options_ShowTimeAs}}"/>
                <dxb:BarSubItem x:Name="Items_Appointment_Options_LabelAs" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Items_Appointment_Options_LabelAs}}"/>
                <dxb:BarSubItem x:Name="Items_Appointment_Options_Reminder" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Items_Appointment_Options_Reminder}}"/>
                <dxb:BarCheckItem x:Name="Items_Appointment_Options_Recurrence" Style="{DynamicResource {dxscht:SchedulerCommandBarThemeKey ResourceKey=Items_Appointment_Options_Recurrence}}"/>
            </dxr:RibbonPageGroup>
        </dxr:RibbonPage>
    </dxr:RibbonPageCategory>
</dxr:RibbonControl>