Xaml 如何在Windows Phone中更改日历的选定颜色?

Xaml 如何在Windows Phone中更改日历的选定颜色?,xaml,c#-4.0,telerik,windows-phone-7.1,Xaml,C# 4.0,Telerik,Windows Phone 7.1,我正在将Telerik的RadCalendar控件用于WindowsPhone应用程序。我想在WindowsPhone的RadCalendar中更改所选日期的背景色。。。有什么方法可以更改此项吗?您可以使用特殊模板更改所选日期的属性。以下是一天的数据模板示例: <telerikInput:RadCalendar> <telerikInput:RadCalendar.ItemTemplate> <DataTemplate> <Gri

我正在将Telerik的RadCalendar控件用于WindowsPhone应用程序。我想在WindowsPhone的RadCalendar中更改所选日期的背景色。。。有什么方法可以更改此项吗?

您可以使用特殊模板更改所选日期的属性。以下是一天的数据模板示例:

<telerikInput:RadCalendar>
  <telerikInput:RadCalendar.ItemTemplate>
    <DataTemplate>
      <Grid Margin="5">
        <TextBlock Text="{Binding DetailText}" FontSize="7" MaxHeight="25" VerticalAlignment="Top" Margin="0,-2,0,0" />
        <TextBlock Text="{Binding Text}" VerticalAlignment="Bottom" HorizontalAlignment="Left" />
      </Grid>
    </DataTemplate>
  </telerikInput:RadCalendar.ItemTemplate>
</telerikInput:RadCalendar>
你可以从中学到更多

<?xml version="1.0" encoding="utf-8"?>
<UserControl.Resources>
  <local:WeekendDaySelector x:Key="WeekendDaySelector">
    <local:WeekendDaySelector.SpecialTemplate>
      <DataTemplate>
        <Grid Margin="5">
          <Image Source="/Calendar/Images/SpecialDay.png" Width="24" Height="24" />
          <TextBlock Text="{Binding Text}" x:Name="TextPresenter" VerticalAlignment="Bottom" HorizontalAlignment="Left" />
        </Grid>
      </DataTemplate>
    </local:WeekendDaySelector.SpecialTemplate>
  </local:WeekendDaySelector>
</UserControl.Resources>

<telerikInput:RadCalendar ItemTemplateSelector="{StaticResource WeekendDaySelector}" />
public class WeekendDaySelector : DataTemplateSelector
{
    public DataTemplate SpecialTemplate
    {
        get;
          set;
    }

    public override DataTemplate SelectTemplate(object item, DependencyObject container)
    {
        CalendarButtonContentInfo info = item as CalendarButtonContentInfo;
          CalendarButton button = container as CalendarButton;
          if (!button.IsFromCurrentView) return null;
          if (info.Date == null) return null;
          if (info.Date.Value.DayOfWeek == DayOfWeek.Saturday ||
              info.Date.Value.DayOfWeek == DayOfWeek.Sunday)
          {
               return SpecialTemplate;
          }
          return base.SelectTemplate(item, container);
    }
}