This question is locked. New answers and comments are not allowed.
Hi Telerik Team,
I have Implemented customized style of EditAppointmentDialogStyle for RadScheduleView.
Also I am changing Themes for my application , but the problem comes when I change the Theme, the style for appointment dialog get reset to Default for RadScheduleView.
below Code I am using
for Changing the app Themes :
I have Implemented customized style of EditAppointmentDialogStyle for RadScheduleView.
Also I am changing Themes for my application , but the problem comes when I change the Theme, the style for appointment dialog get reset to Default for RadScheduleView.
below Code I am using
for Changing the app Themes :
<
telerik:RadComboBox
Name
=
"Themes"
Margin
=
"7"
Grid.Column
=
"1"
SelectedIndex
=
"0"
VerticalAlignment
=
"Center"
HorizontalAlignment
=
"Left"
>
<
telerik:MetroTheme
/>
<
telerik:Office_BlackTheme
/>
<
telerik:Office_BlueTheme
/>
<
telerik:Office_SilverTheme
/>
<
telerik:SummerTheme
/>
<
telerik:VistaTheme
/>
<
telerik:Windows7Theme
/>
<
telerik:TransparentTheme
/>
<
telerik:Expression_DarkTheme
/>
</
telerik:RadComboBox
>
EditAppointmentTemplate :
<
ControlTemplate
x:Key
=
"EditAppointmentTemplate"
TargetType
=
"telerik:SchedulerDialog"
>
<
Grid
x:Name
=
"grid"
>
<
Grid.RowDefinitions
>
<
RowDefinition
Height
=
"Auto"
/>
<
RowDefinition
Height
=
"Auto"
/>
<
RowDefinition
Height
=
"*"
/>
<
RowDefinition
Height
=
"Auto"
/>
<
RowDefinition
Height
=
"Auto"
/>
<
RowDefinition
Height
=
"Auto"
/>
</
Grid.RowDefinitions
>
<
telerik:RadToolBar
x:Name
=
"AppointmentToolbar"
GripVisibility
=
"Collapsed"
Margin
=
"-1 -1 -1 3"
Grid.Row
=
"0"
>
<
TextBlock
x:Name
=
"ShowAs"
Foreground
=
"{StaticResource RadScheduleForeground}"
Margin
=
"1 0 1 1"
telerik:LocalizationManager.ResourceKey
=
"ShowAs"
VerticalAlignment
=
"Center"
/>
<
telerik:RadComboBox
x:Name
=
"PART_Categories"
ClearSelectionButtonContent
=
"{Binding ClearSelectionButtonContent}"
ClearSelectionButtonVisibility
=
"Visible"
EmptyText
=
"{Binding CategoriesEmptyText}"
ItemTemplate
=
"{StaticResource CategoryComboBoxItemContentTemplate}"
ItemsSource
=
"{Binding Categories}"
IsEnabled
=
"{Binding IsReadOnly, Converter={StaticResource InvertedBooleanConverter}}"
Margin
=
"2 1"
SelectionBoxTemplate
=
"{StaticResource CategoryComboBoxItemContentTemplate}"
SelectedItem
=
"{Binding Occurrence.Appointment.Category, Mode=TwoWay}"
Width
=
"120"
/>
</
telerik:RadToolBar
>
<
Border
x:Name
=
"AppointmentCategory"
Background
=
"{Binding SelectedItem.CategoryBrush, ElementName=PART_Categories}"
CornerRadius
=
"3"
Height
=
"20"
Margin
=
"6 6"
Grid.Row
=
"1"
Visibility
=
"{Binding SelectedItem, Converter={StaticResource NullToVisibilityConverter}, ElementName=PART_Categories}"
>
<
TextBlock
Margin
=
"6 0"
Text
=
"{Binding SelectedItem.DisplayName, ElementName=PART_Categories}"
VerticalAlignment
=
"Center"
/>
</
Border
>
<
Grid
x:Name
=
"Details"
Margin
=
"6"
Grid.Row
=
"2"
>
<
Grid.Resources
>
<
telerik:InputMode
x:Key
=
"RadDateTimePickerInputModeDatePicker"
>DatePicker</
telerik:InputMode
>
</
Grid.Resources
>
<
Grid.ColumnDefinitions
>
<
ColumnDefinition
Width
=
"120"
/>
<
ColumnDefinition
Width
=
"*"
/>
<
ColumnDefinition
Width
=
"*"
/>
</
Grid.ColumnDefinitions
>
<
Grid.RowDefinitions
>
<
RowDefinition
Height
=
"Auto"
/>
<
RowDefinition
Height
=
"*"
/>
<
RowDefinition
Height
=
"Auto"
/>
<
RowDefinition
Height
=
"Auto"
/>
</
Grid.RowDefinitions
>
<
TextBlock
Grid.Column
=
"0"
Margin
=
"6"
Grid.Row
=
"0"
telerik:LocalizationManager.ResourceKey
=
"Subject"
/>
<
TextBox
Grid.ColumnSpan
=
"2"
Grid.Column
=
"1"
IsReadOnly
=
"{Binding IsReadOnly}"
Margin
=
"3"
Grid.Row
=
"0"
Text
=
"{Binding Occurrence.Appointment.Subject, Mode=TwoWay}"
/>
<
TextBlock
Grid.Column
=
"0"
Margin
=
"6"
Grid.Row
=
"1"
telerik:LocalizationManager.ResourceKey
=
"Body"
/>
<
TextBox
Grid.ColumnSpan
=
"2"
Grid.Column
=
"1"
Height
=
"70"
IsReadOnly
=
"{Binding IsReadOnly}"
Margin
=
"3"
Grid.Row
=
"1"
TextWrapping
=
"Wrap"
Text
=
"{Binding Occurrence.Appointment.Body, Mode=TwoWay}"
VerticalScrollBarVisibility
=
"Visible"
VerticalAlignment
=
"Stretch"
VerticalContentAlignment
=
"Stretch"
/>
<
TextBlock
Grid.Column
=
"0"
Margin
=
"6"
Grid.Row
=
"2"
telerik:LocalizationManager.ResourceKey
=
"StartTime"
/>
<
telerik:RadDateTimePicker
Culture
=
"{Binding DefaultCulture, Source={StaticResource LocalizationManager}}"
Grid.Column
=
"1"
IsReadOnly
=
"{Binding IsReadOnly}"
IsEnabled
=
"{Binding IsNotRecurrent}"
Margin
=
"3"
Grid.Row
=
"2"
SelectedValue
=
"{Binding ActualStart, Mode=TwoWay}"
>
<
telerik:RadDateTimePicker.InputMode
>
<
Binding
Converter
=
"{StaticResource BoolToInputModeConverter}"
Path
=
"IsAllDayEvent"
>
<
Binding.ConverterParameter
>
<
telerik:InputMode
>DatePicker</
telerik:InputMode
>
</
Binding.ConverterParameter
>
</
Binding
>
</
telerik:RadDateTimePicker.InputMode
>
</
telerik:RadDateTimePicker
>
<
TextBlock
Grid.Column
=
"0"
Margin
=
"6"
Grid.Row
=
"3"
telerik:LocalizationManager.ResourceKey
=
"EndTime"
VerticalAlignment
=
"Center"
/>
<
telerik:RadDateTimePicker
Culture
=
"{Binding DefaultCulture, Source={StaticResource LocalizationManager}}"
Grid.Column
=
"1"
IsReadOnly
=
"{Binding IsReadOnly}"
IsEnabled
=
"{Binding IsNotRecurrent}"
Margin
=
"3"
Grid.Row
=
"3"
SelectedValue
=
"{Binding ActualEnd, Mode=TwoWay}"
>
<
telerik:RadDateTimePicker.InputMode
>
<
Binding
Converter
=
"{StaticResource BoolToInputModeConverter}"
Path
=
"IsAllDayEvent"
>
<
Binding.ConverterParameter
>
<
telerik:InputMode
>DatePicker</
telerik:InputMode
>
</
Binding.ConverterParameter
>
</
Binding
>
</
telerik:RadDateTimePicker.InputMode
>
</
telerik:RadDateTimePicker
>
</
Grid
>
<
Grid
Margin
=
"3"
Grid.Row
=
"3"
Visibility
=
"{Binding ResourceTypesVisibility}"
>
<
telerik:ItemsControl
x:Name
=
"PART_Resources"
BorderBrush
=
"{x:Null}"
BorderThickness
=
"0"
HorizontalContentAlignment
=
"Stretch"
IsTabStop
=
"false"
ItemsSource
=
"{Binding ResourceTypes}"
ItemTemplateSelector
=
"{StaticResource ResourcesEditorItemTemplateSelector}"
IsEnabled
=
"{Binding IsReadOnly, Converter={StaticResource InvertedBooleanConverter}}"
Margin
=
"3"
Visibility
=
"{Binding ResourceTypesVisibility}"
VerticalContentAlignment
=
"Stretch"
/>
<
TextBlock
HorizontalAlignment
=
"Center"
Margin
=
"3"
Text
=
"You can only change the resources by opening the series"
Visibility
=
"{Binding ResourceTypesVisibility, Converter={StaticResource InvertedVisibilityConverter}}"
/>
</
Grid
>
<
CheckBox
Content
=
"Is done?"
Grid.Column
=
"2"
HorizontalAlignment
=
"Stretch"
Grid.Row
=
"3"
VerticalAlignment
=
"Center"
Margin
=
"15,0,0,0"
IsChecked
=
"{Binding Occurrence.Appointment.IsDone, FallbackValue=False, Mode=TwoWay}"
/>
<
StackPanel
HorizontalAlignment
=
"Right"
Margin
=
"13 6"
Orientation
=
"Horizontal"
Grid.Row
=
"5"
>
<!--Here set our new view model to the StackPanel and through the CommandParameter of the button get the view model and Cancel/Confirm it.-->
<
StackPanel.DataContext
>
<
local:MyDialogViewModel
/>
</
StackPanel.DataContext
>
<
telerik:RadButton
Command
=
"{Binding ConfirmCommand}"
CommandParameter
=
"{Binding ElementName=grid}"
Margin
=
"2"
MinWidth
=
"84"
telerik:LocalizationManager.ResourceKey
=
"Ok"
telerik:RadWindow.ResponseButton
=
"Accept"
>
<
ToolTipService.ToolTip
>
<
TextBlock
telerik:LocalizationManager.ResourceKey
=
"SaveAndClose"
/>
</
ToolTipService.ToolTip
>
</
telerik:RadButton
>
<
telerik:RadButton
Command
=
"{Binding CancelCommand}"
CommandParameter
=
"{Binding ElementName=grid}"
Margin
=
"2"
MinWidth
=
"84"
telerik:LocalizationManager.ResourceKey
=
"Cancel"
telerik:RadWindow.ResponseButton
=
"Cancel"
/>
</
StackPanel
>
</
Grid
>
</
ControlTemplate
>
RadScheduleView :
<
Grid
Grid.Column
=
"1"
Grid.RowSpan
=
"2"
HorizontalAlignment
=
"Stretch"
>
<
schedule:RadScheduleView
x:Name
=
"scheduleview"
telerik:StyleManager.Theme
=
"{Binding SelectedValue, ElementName=Themes}"
ActiveViewDefinitionIndex
=
"0"
AppointmentsSource
=
"{Binding}"
CurrentDate
=
"{Binding CurrentDate, Mode=TwoWay}"
FirstVisibleTime
=
"8:00"
Style
=
"{StaticResource RadScheduleViewStyle}"
>
<
schedule:RadScheduleView.ViewDefinitions
>
<
schedule:DayViewDefinition
/>
<
schedule:WeekViewDefinition
/>
<
schedule:MonthViewDefinition
/>
<
schedule:TimelineViewDefinition
/>
</
schedule:RadScheduleView.ViewDefinitions
>
<
schedule:RadScheduleView.TimeMarkersSource
>
<
schedule:DefaultTimeMarkerCollection
/>
</
schedule:RadScheduleView.TimeMarkersSource
>
<
telerik:RadContextMenu.ContextMenu
>
<
telerik:RadContextMenu
IsOpen
=
"{Binding IsContextMenuOpen,Mode=TwoWay}"
>
<
telerik:RadMenuItem
Header
=
"New Appointment..."
CommandTarget
=
"{Binding Menu.UIElement, RelativeSource={RelativeSource Self}}"
Command
=
"schedule:RadScheduleViewCommands.CreateAppointment"
/>
<
telerik:RadMenuItem
Header
=
"Open..."
CommandTarget
=
"{Binding Menu.UIElement, RelativeSource={RelativeSource Self}}"
Command
=
"schedule:RadScheduleViewCommands.EditAppointment"
/>
<
telerik:RadMenuItem
Header
=
"Delete"
CommandTarget
=
"{Binding Menu.UIElement, RelativeSource={RelativeSource Self}}"
Command
=
"schedule:RadScheduleViewCommands.DeleteAppointment"
/>
<
telerik:RadMenuItem
IsSeparator
=
"True"
/>
<
telerik:RadMenuItem
Header
=
"Next"
Command
=
"{Binding NextDateCommand}"
CommandParameter
=
"{Binding Menu.UIElement.ActiveViewDefinition.LargeChangeInterval, RelativeSource={RelativeSource Self} }"
/>
<
telerik:RadMenuItem
Header
=
"Today"
Command
=
"{Binding GotoTodayCommand}"
/>
<
telerik:RadMenuItem
Header
=
"Previous"
Command
=
"{Binding PrevDateCommand}"
CommandParameter
=
"{Binding Menu.UIElement.ActiveViewDefinition.LargeChangeInterval, RelativeSource={RelativeSource Self} }"
/>
<
telerik:RadMenuItem
IsSeparator
=
"True"
/>
<
telerik:RadMenuItem
Header
=
"DayView"
Command
=
"schedule:RadScheduleViewCommands.SetDayViewMode"
CommandParameter
=
"{Binding CurrentDate}"
/>
<
telerik:RadMenuItem
Header
=
"WeekView"
Command
=
"schedule:RadScheduleViewCommands.SetWeekViewMode"
/>
<
telerik:RadMenuItem
Header
=
"MonthView"
Command
=
"schedule:RadScheduleViewCommands.SetMonthViewMode"
/>
<
telerik:RadMenuItem
Header
=
"TimelineView"
Command
=
"schedule:RadScheduleViewCommands.SetTimelineViewMode"
/>
<
telerik:RadMenuItem
IsSeparator
=
"True"
/>
<
telerik:RadMenuItem
Header
=
"Group By Category"
IsCheckable
=
"True"
IsChecked
=
"{Binding IsGroupedByCategory, Mode=TwoWay}"
/>
</
telerik:RadContextMenu
>
</
telerik:RadContextMenu.ContextMenu
>
</
schedule:RadScheduleView
>
</
Grid
>
So I just want to know, How can I use Styles with changing Themes at runtime?
Please help me to solve this,
Thanks