Из Reflector метод CalendarItem.SetYearModeMonthButtons () имеет следующий код:
CalendarButton childButton = child as CalendarButton;
DateTime day = new DateTime(this.DisplayDate.Year, count + 1, 1);
childButton.DataContext = day;
childButton.SetContentInternal(DateTimeHelper.ToAbbreviatedMonthString(new DateTime?(day), DateTimeHelper.GetCulture(this)));
childButton.Visibility = Visibility.Visible;
ToAbbreviatedMonthString использует DateTimeFormatInfo.AbbreviatedMonthNames и получает CultureInfo, возвращенный из XmlLageFrameworkElement.Language , и я не думаю, что есть способ создать пользовательский XmlLanguage для подделки названий месяцев.
Так что, похоже, единственным вариантом является изменение шаблона элемента управления для CalendarButton.Вы можете сделать что-то вроде этого:
<toolkit:Calendar DisplayMode="Year">
<toolkit:Calendar.CalendarButtonStyle>
<Style TargetType="primitives:CalendarButton">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="primitives:CalendarButton">
<primitives:CalendarButton>
<TextBlock Text="{Binding Month, StringFormat=00}"/>
</primitives:CalendarButton>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</toolkit:Calendar.CalendarButtonStyle>
</toolkit:Calendar>
Это также повлияет на кнопки года, которые теперь все будут отображать '01' (так как все они представляют 1 января), и не будут выделять текущий месяц,но это должно дать вам начало, если вы хотите принять такой подход.