Проблема с DisplayMode календаря. По дефолту всё нормально
Но при изменении свойства DisplayMode в любое состояние он расширяется за пределы окна и, похоже, вселенной.
Как это можно вылечить? Пробовал задавать свойство в коде, maxWidth, но тоже не спасло.
Судя по многочисленным аналогичным вопросам на enSO это или баг, или фича, связанная с тем, что календарь предназначен для размещения во всплывающих элементах, вполне возможно, что контрол календаря создавался только для использования внутри DatePicker и разработчики не предусматривали его самостоятельное использование (см. также этот вопрос: Проблема с обработкой клика по Calendar WPF)
В качестве решения — не устанавливайте календарю DisplayMode в XAML, а делайте это после загрузки:
<Calendar Loaded="Calendar_Loaded"/>
и:
private void Calendar_Loaded(object sender, RoutedEventArgs e)
{
((Calendar)sender).DisplayMode = CalendarMode.Decade;
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости