We are utilizing the ScheduleView control to render our Calendar view (Month, Week, Day views) and allow CRUD on Appointments. We have created a custom Appointment view model that implements the Telerik IAppointment interface and all other recommendations. This all seems to be working great! Now I am trying to override the standard Edit Appointment dialog with my own style and running into some errors.
We have a customer requirement for user workflow that requires us to show a "wizard"-type experience when creating and editing appointments. This has been implemented as a set of sdk:Page objects. I wish to render these pages within a navigation sdk:Frame in the Edit dialog and use UriMapping to navigate between them within the frame. This is where I'm running into an issue. My current style looks like this:
<telerikScheduleView:RadScheduleView.EditAppointmentDialogStyle> <Style TargetType="telerik:SchedulerDialog"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="telerik:SchedulerDialog"> <sdk:Frame Source="Pages/PlanMeeting/MeetingInformation.xaml" Navigated="PlanMeetingFrame_Navigated" NavigationFailed="PlanMeetingFrame_NavigationFailed" > <sdk:Frame.UriMapper> <sdk:UriMapper> <sdk:UriMapping Uri="" MappedUri="/Pages/PlanMeeting/MeetingInformation.xaml"/> <sdk:UriMapping Uri="/PlanMeeting/Information/{meetingId}" MappedUri="/Pages/PlanMeeting/MeetingInformation.xaml?MeetingId={meetingId}"/> <sdk:UriMapping Uri="/PlanMeeting/Attendees/{meetingId}" MappedUri="/Pages/PlanMeeting/MeetingAttendees.xaml?MeetingId={meetingId}"/> <sdk:UriMapping Uri="/PlanMeeting/Agenda/{meetingId}" MappedUri="/Pages/PlanMeeting/MeetingAgendaItems.xaml?MeetingId={meetingId}"/> </sdk:UriMapper> </sdk:Frame.UriMapper> </sdk:Frame> </ControlTemplate> </Setter.Value> </Setter> </Style></telerikScheduleView:RadScheduleView.EditAppointmentDialogStyle>
As you can see, while I'm creating a variety of UriMappings for navigation, I'm currently trying to just set the Source to an explicit page (I've also tried using my UriMappings to no avail). When I run the application and launch the Edit Appointment Occurrence dialog, the modal Window launches but doesn't navigate to the intended page within the sdk:Frame. Instead it replicates the source (Launching) page in the window. So if my source calendar page is "Pages/Calendar.xaml", then the navigation Uri of the frame at runtime is "Pages/Calendar.xaml" no matter what I initialize it to in the XAML for the Control Template.
I've verified this via breakpoints in the Frame_Navigated event handler.
My question to you - Do you have any idea if the ScheduleView Telerik control or the ScheduleDialog could be enforcing this? Do you have any ideas on how to achieve what I am attempting, which is basically a custom wizard within the Edit Appointment ScheduleDialog?