Резюме для программиста
Ещё один дебилизм от МС. Кто-нибудь встречал такие строчки в проектах на WPF? А вот - нельзя просто начать новый проект и писать свою логику, чтобы всё нормально работало. Без добавления минимум этих двух строчек будут косяки и ошибки в байндингах и форматировании, если культура вашего приложения не английская. Т.е. в каждый новый проект нужно вставить блямбу кода, иначе нормально не заведётся.
System.Windows.FrameworkCompatibilityPreferences.KeepTextBoxDisplaySynchronizedWithTextProperty = false;
FrameworkElement.LanguageProperty.OverrideMetadata(
typeof(FrameworkElement),
new FrameworkPropertyMetadata(System.Windows.Markup.XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.Name)));
Вот описание по последней строчке https://serialseb.com/blog/2007/04/03/wpf-tips-1-have-all-...
Там про даты, но оно же работает для плавающей запятой в числах, например. Пока ты весь в англоязычном мире, всё работает. Но начиная работать с мультикультурами, всё это дерьмо всплывает.