컨트롤의 culture를 명시 적으로 제어하여 리소스 (.resx)/문화권의 값을 검색 할 수 있도록 설정할 수 있습니까?WPF 리소스 : 개별 컨트롤의 명시적인 지역화
글로벌 응용 프로그램 문화가 "en-US"이지만 일부 컨트롤이 "sv-SE"에 있어야한다고 가정 해 보겠습니다. 내 프로젝트에는 resource.resx
과 resource.sv-se.resx
파일이 있습니다. 전체 응용 프로그램에서 문화/언어를 전환하는 데는 효과적이지만 컨트롤 수준에서이를 제어하는 방법을 알 수는 없습니다. Language="sv-SE"
을 설정하면 충분하지만 TextBlock은 여전히 영어 자원 파일에서 가치를 얻고 자합니다.
<Windows
xmlns:resx="clr-namespace:MyApplication.Localization"
...
>
<TextBlock x:Name="TextInEnglish" Text="{x:Static resx:Resources.MyText}" />
<TextBlock x:Name="TextInSwedish" Language="sv-SE" Text="{x:Static resx:Resources.MyText}" />
...
어떻게해야합니까?
2 아이디어 :하지만 당신은 당신이 문화를 지정할 수 있습니다 태그 확장을 만들 수 있습니다 1) 값 변환과에 multibinding를 사용 언어 및 텍스트. 2), 언어 속성을 무시하고 변경 내용을 수신하고 이에 따라 텍스트 (또는 다른 속성)를 업데이트하는 언어 및 텍스트 또는 로캘 ID에 대한 연결된 속성을 만듭니다. 하지만이 문제를 해결할 더 좋은 방법이 있다고 생각합니다. – dowhilefor
@dowhilefor : 귀하의 의견을 보내 주셔서 감사합니다. 나는 실제로 가치 변환기로 시작했지만 결국에는 그것을 좋아하지 않았습니다. 좀 지저분 해. 두 번째 아이디어는 흥미로운 것으로 들리지만 코드를 완전히 이해하려면 코드에서 볼 필요가 있다고 생각합니다. 건배! –