UWP меняет язык CalendarDatePicker во время выполнения

У меня есть приложение, которое меняет интерфейс во время выполнения. Вот мой код для смены языка:

public void SwitchLanguage(SupportedLanguage language)
{
    // Check if passed argument is different from current language
    if (CurrentLanguage != language.Type)
    {
        // Set the new current language
        CurrentLanguage = language.Type;

        // Override tha application primary language ( it will automatically save the language preference )
        Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = language.FourDigitCode;
        ResourceContext.GetForViewIndependentUse().Reset();
        ResourceContext.GetForCurrentView();

        this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("LocalizedResourceMap"));
        // Notify code about the changes
        this.LanguageChanged?.Invoke(this, new EventArgs());
    }
}

Вся локализация работает нормально, кроме CalendarDatePicker - это Flyout не локализуется (во время выполнения, когда я перезапускаю приложение - все в порядке).

Вот примеры

Открыл страницу и выбрал CalendarDatePicker:

Переключил язык на русский:

Я пытался сделать это:

// Attach to LanguageChanged event - created in my own code
// And trigger this method inside CalendarDatePicker:
private void LanguageChanged(object sender, EventArgs e)
{
    this.Language = "ru-RU"; // Hardcoded value for test only
}

И результат такой:

Я также пытался сделать недействительной () все. Также пытался вызвать метод обновления TemplateChild CalendarView - бесполезно. Любые предложения, как добиться нормальной смены языка?

РЕДАКТИРОВАТЬ:

Благодаря Элвису Ся было замечено, что при смене языка в коде размер CalendarView искажается, потому что если я сделаю это:

this.calendar.Language = "ru-RU"
this.calendar.Height = 500;
this.calendar.Width = 500;

Я буду видеть даты (облажался, но все же):

Любые идеи, как это исправить?

Ответы на вопрос(1)

Ваш ответ на вопрос