Create Ribbon

  • 2 minutes to read

Click the Create Ribbon link to add all the available Scheduler ribbon pages, groups and bar items to XAML. You can also modify XAML according to your task's requirements.

WPFScheduler_SmartTag_CreateRibbon

Implementing all ribbon elements requires much XAML coding. We recommend using the approach described below to reduce the code's length.

TIP

Set the SchedulerControl.CommandBarStyle property to CommandBarStyle.Ribbon to display the integrated ribbon with all the available scheduler commands. Use Bar Actions to customize a built-in Scheduler ribbon by adding an action to the SchedulerControl.RibbonActions collection. Refer to the How to: Display the Integrated Ribbon for the Scheduler document for more information.

You can see the generated XAML in the code sample below.

<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>