我正在尝试使用字典中的String
:
<?xml version="1.0" encoding="utf-8" ?>
<Dictionary EnglishName="English" CultureName="English" Culture="en-US">
...
<Value Id="ButtonSuppressFieldInformation"
ToolTip="Remove field" Name="Remove field number "/>
...
</Dictionary>
在此ConverterParamter
中启用多个语言支持:
<Button>
...
<AutomationProperties.Name>
<MultiBinding
Converter="{StaticResource IndexedForAutomationId}"
ConverterParameter="{loc:Translate
Uid=ButtonSuppressFieldInformation, Default=Delete field}">
<Binding RelativeSource="{RelativeSource Self}" />
<Binding ElementName="MyContactDirectoryView"
Path="ListConditionToSearch" />
</MultiBinding >
</AutomationProperties.Name>
</Button>
但唯一显示的是数字(IndexedForAutomationId
),string
没有出现。
使用string
代替"{loc:Translate Uid=ButtonSuppressFieldInformation, Default=Delete field}"
有效:
<MultiBinding Converter="{StaticResource IndexedForAutomationId}"
ConverterParameter="Delete field">
显示Delete field 0
。
将loc:Translate
用作ConverterParameter的方式是什么?
答案 0 :(得分:1)
这个问题可能是由很多事情引起的,而一些代码在这里真的有帮助。但是,我会从Convert()
转换器的IndexedForAutomationId
方法的断点开始,1)检查是否从内部绑定中获得了预期的值,并检查转换器本身是否为从字典中返回正确的字符串。
请务必查看有关how to debug WPF bindings的这些指南。