我有DynamicResource和MergedDictionary的问题。 我有一个软件可以用不同的语言(英语,西班牙语,德语)显示,我有很多资源词典。 我给你一个字典,它被称为“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”访问资源时,我从活动字典中得到结果(例如:“ProductDescription” 假设以下情况: 我以西班牙语运行软件,并且希望将其更改为德语,但词典中的一项不是一个可用的,那么软件没有使用它的默认条目。我仍然从西班牙语词典中获得价值。
在我看来,DynamicResource在这种情况下崩溃,不会改变。我没有证据证明它确实崩溃。我唯一的事实是,如果条目不存在,文本框将不会更改! 有没有办法处理这个崩溃? (如果它是一个)
我希望我有你需要的所有信息。如果不是,请让我知道
它实际上是“崩溃”还是TextBlock只是不改变? – mm8
@ mm8就像我说的那只是我的意见。我不知道它是否崩溃。 我知道的唯一事情是,它不会改变。如果条目可用,则可以正常工作并更改文本框。我也编辑了这个问题来说清楚。 – Evosoul