Silverlight (RIA Services) спонтанное изменение культуры - PullRequest
0 голосов
/ 11 июня 2010

Приложение Silverlight с моим RIA устанавливает культуру потоков в конструкторе приложения (это совершенно нормально, поскольку это приложение для внутренней сети и никогда не будет использоваться кем-то, кто не является немецким):

public App() {
    InitializeComponent();
    Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
}

Он делает то, что должен, DataForms отображают значения даты и времени в немецкой нотации. НО: он самопроизвольно меняется на нотацию en-US при навигации между элементами в источнике данных, который связан с DataForm. Почему?

Ответы [ 2 ]

0 голосов
/ 29 сентября 2010

Как сказал Марк Витке, культура потоков не наследуется каждым элементом управления (почему на земле ???)

В любом случае вам не нужно жестко кодировать значения, это помещает эту строку в ваш элемент управленияконструктор:

Language = XmlLanguage.GetLanguage (CultureInfo.CurrentCulture.Name);

И под вашим контролем будет использоваться CurrentCulture.

Cheers,

André

0 голосов
/ 22 июня 2010

Кажется, что культура потоков не наследуется каждым элементом управления.Просто для удовольствия я отобразил язык элемента управления, и он был установлен на en-US.Чтобы решить эту проблему, я жестко закодировал язык de-DE в стиле DataForm.

Та же самая проблема была , описанной Ханнесом (на немецком языке) .Удивительно, но в этом случае все было наоборот: DataForm была немецкой, но сетка была английской.

...