2010-06-11 3 views
0

내 RIA 사용 Silverlight 응용 프로그램은 App 생성자에서 스레드 문화권을 설정합니다 (이는 인트라넷 응용 프로그램이므로 절대 사용하지 않으며 독일어가 아닌 사람이 절대 사용하지 않습니다).Silverlight (RIA Services) 자발적 문화 변경

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

데이터 형식은 datetime 값을 독일어 표기법으로 표시합니다. 그러나 그것은 DataForm에 바인딩 된 데이터 소스의 항목 사이를 탐색 할 때 자연스럽게 en-US 표기법으로 변경됩니다. 왜?

답변

0

스레드 문화권이 모든 컨트롤에 상속되지 않는 것 같습니다. 그냥 재미로 컨트롤의 언어를 표시했고 alwas는 en-US으로 설정되었습니다. 이를 해결하기 위해 언어 de-DE을 DataForm 스타일로 하드 코딩했습니다.

동일한 문제는 described by Hannes (in german)입니다. 놀랍게도이 경우 정확히 다른 방향이었습니다. DataForm은 독일어 였지만 그리드는 영어였습니다.

0
마크 Wittke 말했듯이, 스레드 문화가 모든 제어에 의해 상속되지 않습니다

어떤 방법 (지구 ???에 이유), 당신은 값을 하드 코딩 할 필요가 없습니다, 이것은 당신의 컨트롤 생성자에서이 줄을 넣어 :

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

당신은 현재 문화를 사용할 것입니다.

건배,

앙드레

관련 문제