DynamicResource 및 MergedDictionary에 문제가 있습니다. 다른 언어 (영어, 스페인어, 독일어)로 표시 할 수있는 소프트웨어가 있으며 많은 ResourceDictionaries가 있습니다. 내가 당신에게 "Documentation.xaml"라고 사전의 하나의 예를 제공합니다 : DynamicResource에 올바른 값이 표시되지 않습니다.
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="ProductNumber">Product Number</system:String>
<system:String x:Key="Notes">Notes</system:String>
<system:String x:Key="Logo">Logo</system:String>
<system:String x:Key="InspectionTask">Inspection task</system:String>
<system:String x:Key="ProductDescription">Product Description</system:String>
</ResourceDictionary>
이 내 "기본"ResourceDictionary에
. 독일어와 영어 용으로 "Documentation.de-DE.xaml"과 "Documentation-es-ES.xaml"이라는 다른 두 개의 사전이 있습니다 그들은 기본 사전과 거의 같습니다. 유일한 차이점은 표시된 문자열입니다 .내 문제 : "DynamicResource"를 통해 ressource에 액세스하면 활성 사전에서 결과를 얻습니다 (예 : 스페인어로 된 "ProductDescription"에 대해 "Descripcion de producto"를 얻음). 다음 상황을 전제로 : 스페인어로 소프트웨어를 실행 중이고 독일어로 변경하고 싶지만 사전에있는 항목 중 하나만 사용할 수 있습니다. 에이 vailable이면 소프트웨어는 기본 항목을 사용하지 않습니다. 나는 아직도 스페인어 사전의 가치가있다.
제 생각에는 DynamicResource가이 경우 충돌하고 변경되지 않습니다. 나는 그것이 정말로 부서지고 있다는 증거가 없다. 내가 가진 유일한 사실은 항목이 존재하지 않으면 텍스트 상자가 변경되지 않는다는 것입니다! 이 충돌을 처리 할 수있는 방법이 있습니까? (해당하는 경우)
필요한 모든 정보를 얻길 바랍니다. 알려지지 않은 경우 알려주십시오
실제로 "충돌"하거나 TextBlock이 변경되지 않습니까? – mm8
@ mm8 내가 말한 것처럼 그것은 내 의견 일 뿐이다. 나는 그것이 충돌하는지 모른다. 내가 아는 유일한 것은 그것이 변하지 않는다는 것입니다. 항목을 사용할 수 있으면 제대로 작동하고 텍스트 상자가 변경됩니다. 나는 또한 그것을 명확하게하기 위해 질문을 편집했다. – Evosoul