В моем приложении silverlight 4 MVVM я могу переключать языки во время выполнения:
public void SetLanguage(string language)
{
var culture = new CultureInfo(language);
Thread.CurrentThread.CurrentUICulture = culture;
Thread.CurrentThread.CurrentCulture = culture;
// ...
}
Для входных данных я просто добавил «ValidatesOnException = true» в случае проблем с преобразованием, и он выполняет свою работу.Но сообщение об исключении по умолчанию соответствует культуре моей ОС, а не выбранной вручную.
В этой теме о локализации сообщений об исключениях идея состоит в том, чтобы изменить CurrentCulture и CurrentUICulture, чтосделал.Так что я застрял.
Что я могу сделать?
Спасибо:)
Редактировать: я пытался использовать пользовательский конвертер с пользовательским исключением в конвертацииметод для проверки ввода пользователя.Проблема, исключение в методе convertback НЕ перехватывается validatesOnException, оно разрывает приложение.
Редактировать 2: чтобы уточнить -> если у меня есть десятичное свойство, связанное с текстовым полем, и я ввожу "blabla"в этом текстовом поле я хочу видеть, что есть проблема, и я хочу, чтобы сообщение было в локали времени выполнения, а не в локали ОС.Я не могу вызвать исключение в своем установщике свойств, потому что никогда не получаю, конвертер по умолчанию вызывает свое собственное исключение до этого.
Надеюсь, это понятно.Если я могу помочь вам, пожалуйста, не стесняйтесь:)