Я не уверен, что вы смогли обойти эту проблему, но поскольку никто не ответил, я отвечу.
Для начала, я не уверен, что ваш код поддержки работает в том же потоке, что и уровень представления;вероятно нет, то есть я считаю, что Silverlight создает собственную визуальную нитьДругими словами, настройка всей нити CultureInfo
не решит вашу проблему.
Есть (как минимум) два способа решения этой проблемы:
1. Поиграйте с атрибутом StringFormat
, чтобы установить пользовательский формат.
2. Создайте динамическое свойство в резервном коде, которое отформатирует значение для вас.Пожалуйста, найдите этот несовершенный пример:
public decimal Quote { get; set; }
// Formats value of Quote property
public string FormattedQuote
{
get
{
CultureInfo swedishCulture = new CultureInfo("sv-SE");
swedishCulture.NumberFormat.CurrencyGroupSeparator = " ";
return Quote.ToString("c2", swedishCulture);
}
}
И в вашем коде XAML вам не нужно указывать формат, поэтому вы бы только сделали это:
<TextBlock Name="textBlock1" Text="{Binding FormattedQuote}" DataContext="{Binding ElementName=textBlock1}" />