Наше приложение позволяет пользователю изменять культуру, в которой он работает, и эта культура может отличаться от базовой культуры ОС. Единственный способ сделать это - установить Thread.CurrentThread.CurrentCulture и Thread.CurrentThread.CurrentUICulture для каждого потока.
Единственная проблема с этим заключается в том, что мы должны установить культуру для каждого потока, и мы должны помнить, чтобы делать это всякий раз, когда мы создаем новый поток. Если вы установите поток в другой культуре, а затем создадите новый поток, он получит культуру ОС, а не потока, который его создал.
Я бы хотел найти лучший способ сделать это. Я могу думать только о двух вещах, но я не знаю, возможна ли любая из них.
- Установите культуру на уровне приложения, чтобы все потоки по умолчанию соответствовали этой культуре. Возможно ли это?
- Есть ли где-нибудь событие создания потока, на которое я могу подписаться? Таким образом, я могу настроить один обработчик для установки культуры при создании потока.
Любые идеи или помощь будут приветствоваться, даже если мне нужно PInvoke до Win32 API. Заранее спасибо.
РЕДАКТИРОВАТЬ: Я нашел этот вопрос , который похож, но ответ не был найден.