The date part of RadDatePicker is still, i can not choose the right date.

1 Answer 73 Views
DatePicker
JIJIKO
Top achievements
Rank 1
Iron
JIJIKO asked on 24 Sep 2021, 01:56 AM

I edited the template of RadDatePicker, when i click the left and right button to change the month, the month component of date number is totally still, won't change by different month.

I found if DayButtonStyle part is deleted, then nothing wrong. But I need to change DayButtonStyle, is there any solution?

                    <telerik:RadDatePicker Style="{DynamicResource RadDatePickerStyle1}" IsEnabled="True" IsReadOnly="False" Margin="2 0"/>
<Setter Property="DayButtonStyle">
                            <Setter.Value>
                                <Style TargetType="{x:Type Calendar:CalendarButton}">
                                    <Setter Property="FontFamily" Value="Microsoft YaHei UI"/>
                                    <Setter Property="FontSize" Value="12"/>
                                    <Setter Property="Foreground" Value="{DynamicResource BasicFont}"/>
                                    <Setter Property="BorderThickness" Value="1"/>
                                    <Setter Property="HorizontalContentAlignment" Value="Center"/>
                                    <Setter Property="VerticalContentAlignment" Value="Center"/>
                                    <Setter Property="MinWidth" Value="24"/>
                                    <Setter Property="MinHeight" Value="24"/>
                                    <Setter Property="FontWeight" Value="Normal"/>
                                    <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
                                    <Setter Property="Template">
                                        <Setter.Value>
                                            <ControlTemplate TargetType="{x:Type Calendar:CalendarButton}">
                                                <Grid x:Name="LayoutRoot" Background="Transparent">
                                                    <Border x:Name="BorderVisual" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="10" Margin="1"/>
                                                    <ContentControl x:Name="Content" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" Foreground="{TemplateBinding Foreground}" FontSize="{TemplateBinding FontSize}" FontFamily="{TemplateBinding FontFamily}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" IsTabStop="False" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                                                </Grid>
                                                <ControlTemplate.Triggers>
                                                    <Trigger Property="IsFromCurrentView" Value="False">
                                                        <Setter Property="Opacity" TargetName="Content" Value="0.6"/>
                                                    </Trigger>
                                                    <Trigger Property="IsKeyboardFocusWithin" Value="True">
                                                        <Setter Property="BorderBrush" TargetName="BorderVisual" Value="{DynamicResource BrightColor}"/>
                                                        <Setter Property="BorderThickness" TargetName="BorderVisual" Value="1"/>
                                                    </Trigger>
                                                    <Trigger Property="IsMouseOver" Value="True">
                                                        <Setter Property="Background" TargetName="BorderVisual" Value="{DynamicResource BrightColor}"/>
                                                        <Setter Property="BorderBrush" TargetName="BorderVisual" Value="{DynamicResource BrightColor}"/>
                                                        <Setter Property="Foreground" Value="White"/>
                                                    </Trigger>
                                                    <Trigger Property="IsSelected" Value="True">
                                                        <Setter Property="Background" TargetName="BorderVisual" Value="{DynamicResource BrightColor}"/>
                                                        <Setter Property="BorderBrush" TargetName="BorderVisual" Value="{DynamicResource BrightColor}"/>
                                                        <Setter Property="Foreground" Value="White"/>
                                                    </Trigger>
                                                    <Trigger Property="IsEnabled" Value="False">
                                                        <Setter Property="Opacity" TargetName="Content" Value="0.6"/>
                                                    </Trigger>
                                                    <Trigger Property="ButtonType" Value="TodayDate">
                                                        <Setter Property="BorderBrush" TargetName="BorderVisual" Value="Gray"/>
                                                        <Setter Property="Foreground" Value="{DynamicResource BasicFont}"/>
                                                        <Setter Property="FontWeight" TargetName="Content" Value="Bold"/>
                                                    </Trigger>
                                                    <MultiTrigger>
                                                        <MultiTrigger.Conditions>
                                                            <Condition Property="IsEnabled" Value="False"/>
                                                            <Condition Property="IsMouseOver" Value="True"/>
                                                        </MultiTrigger.Conditions>
                                                        <Setter Property="Foreground" TargetName="Content" Value="White"/>
                                                    </MultiTrigger>
                                                    <MultiTrigger>
                                                        <MultiTrigger.Conditions>
                                                            <Condition Property="IsFromCurrentView" Value="False"/>
                                                            <Condition Property="IsMouseOver" Value="True"/>
                                                        </MultiTrigger.Conditions>
                                                        <Setter Property="Opacity" TargetName="Content" Value="1"/>
                                                    </MultiTrigger>
                                                    <MultiTrigger>
                                                        <MultiTrigger.Conditions>
                                                            <Condition Property="ButtonType" Value="TodayDate"/>
                                                            <Condition Property="IsMouseOver" Value="True"/>
                                                        </MultiTrigger.Conditions>
                                                        <Setter Property="Foreground" TargetName="Content" Value="White"/>
                                                        <Setter Property="Background" TargetName="BorderVisual" Value="{DynamicResource BrightColor}"/>
                                                        <Setter Property="BorderBrush" TargetName="BorderVisual" Value="{DynamicResource BrightColor}"/>
                                                    </MultiTrigger>
                                                    <MultiTrigger>
                                                        <MultiTrigger.Conditions>
                                                            <Condition Property="ButtonType" Value="TodayDate"/>
                                                            <Condition Property="IsSelected" Value="True"/>
                                                        </MultiTrigger.Conditions>
                                                        <Setter Property="Background" TargetName="BorderVisual" Value="{DynamicResource BrightColor}"/>
                                                        <Setter Property="BorderBrush" TargetName="BorderVisual" Value="{DynamicResource BrightColor}"/>
                                                        <Setter Property="Foreground" Value="White"/>
                                                    </MultiTrigger>
                                                    <Trigger Property="ButtonType" Value="WeekNumber">
                                                        <Setter Property="Foreground" TargetName="Content" Value="{DynamicResource BasicFont}"/>
                                                        <Setter Property="Opacity" TargetName="Content" Value="0.2"/>
                                                        <Setter Property="Visibility" TargetName="BorderVisual" Value="Collapsed"/>
                                                    </Trigger>
                                                    <Trigger Property="ButtonType" Value="WeekName">
                                                        <Setter Property="Foreground" TargetName="Content" Value="{DynamicResource BrightColor}"/>
                                                        <Setter Property="Visibility" TargetName="BorderVisual" Value="Collapsed"/>
                                                    </Trigger>
                                                </ControlTemplate.Triggers>
                                            </ControlTemplate>
                                        </Setter.Value>
                                    </Setter>
                                </Style>
                            </Setter.Value>
                        </Setter>
I can't pick the rignt date.  T - T

1 Answer, 1 is accepted

Sort by
0
Accepted
Stenly
Telerik team
answered on 28 Sep 2021, 01:37 PM

Hello Jijiko,

I have prepared a sample project using the provided code snippets, but the issue with changing the months from the buttons was not present on my side. That said, regarding the other part of the question about the wrong dates, to change this behavior, set the ContentTemplateSelector inside the ContentControl with x:Name="Content". It should look as follows(modified the DayButtonStyle property from the provided code snippet):

<ContentControl x:Name="Content"
                ContentTemplateSelector="{TemplateBinding ContentTemplateSelector}"
                ContentTemplate="{TemplateBinding ContentTemplate}" 
                Content="{TemplateBinding Content}" 
                ContentStringFormat="{TemplateBinding ContentStringFormat}"
                Foreground="{TemplateBinding Foreground}"
                FontSize="{TemplateBinding FontSize}"
                FontFamily="{TemplateBinding FontFamily}"
                HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" 
                IsTabStop="False" Margin="{TemplateBinding Padding}"
                VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />

In conclusion, I have attached the mentioned sample project for you to test.

Regards,
Stenly
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

JIJIKO
Top achievements
Rank 1
Iron
commented on 29 Sep 2021, 02:54 AM

It works. Thank you so much, Stenly :)
Tags
DatePicker
Asked by
JIJIKO
Top achievements
Rank 1
Iron
Answers by
Stenly
Telerik team
Share this question
or