<
telinput:RadDatePicker x:Name="dateOfWorkDatePicker"
DayTemplate="{x:Null}"
Grid.Row="0"
Grid.Column="1"
Width="120"
HorizontalAlignment="Left"
DateSelectionMode="Day"
DateTimeWatermarkContent="MM/DD/YY"
SelectionChanged="dateOfWorkDatePicker_SelectionChanged"
DisplayDateEnd="{Binding MaxAllowedDate}"
SelectedDate="{Binding SelectedDateOfWork,
Converter={StaticResource DateTimeOffsetToNullableDateTime},
Mode=TwoWay,
ValidatesOnExceptions=true,
NotifyOnValidationError=true
}">
<telinput:RadDatePicker.DayTemplateSelector>
<local:DaysWithAttendanceHighlighted>
<local:DaysWithAttendanceHighlighted.HighlightedTemplate>
<DataTemplate>
<TextBlock Foreground="Red"
FontWeight="Bold"
Text="{Binding Text}" />
</DataTemplate>
</local:DaysWithAttendanceHighlighted.HighlightedTemplate>
<local:DaysWithAttendanceHighlighted.DefaultTemplate>
<DataTemplate>
<TextBlock Text="{Binding Text}" />
</DataTemplate>
</local:DaysWithAttendanceHighlighted.DefaultTemplate>
</local:DaysWithAttendanceHighlighted>
</telinput:RadDatePicker.DayTemplateSelector>
</telinput:RadDatePicker>
Here is my code:
public
class DaysWithAttendanceHighlighted : DataTemplateSelector
{
public override DataTemplate SelectTemplate(object item, DependencyObject container)
{
CalendarButtonContent content = item as CalendarButtonContent;
var date_picker = (container as FrameworkElement).ParentOfType<RadDatePicker>();
var vm = date_picker.DataContext as ProjectDetail_AttendanceViewModel;
if (content != null)
{
if (vm.DatesWithAttendance.Contains(content.Date))
{
return HighlightedTemplate;
}
}
return DefaultTemplate;
}
private DataTemplate defaultTemplate;
public DataTemplate DefaultTemplate
{
get
{
return defaultTemplate;
}
set
{
defaultTemplate =
value;
}
}
private DataTemplate _highlightedTemplate;
public DataTemplate HighlightedTemplate
{
get
{
return _highlightedTemplate;
}
set
{
_highlightedTemplate =
value;
}
}
}
What am I doing wrong? Nothing happens, the days in the datepicker are not changed.