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?