我正在尝试为wpf中的给定元素名称获取多语言翻译(“标签或标题”)字符串值。 例如;对于elementname“txtDescription”;我的IValueConverter实现将返回“描述”;对于另一种语言,将返回不同的翻译字符串(即西班牙语的descripción),翻译字符串将是同一元素的Text = ...。
我是wpf的新手;我不能让它工作。是否有任何优雅的方式以类似的方式做到这一点。
<TextBlock Name="txtDescription" Text="{Binding Converter={StaticResource MultiLingualConverter} }"</TextBlock>
如果这不简单或需要更多代码,那么作为替代方式发送“txtDescription”作为MultiLingualConverter的参数是可以接受的,但我现在不知道如何做到这一点。
答案 0 :(得分:1)
您可以通过ConverterParameter属性传递元素名称,this是如何使用它将字符串传递给转换器的示例。
但是,WPF本地化不仅仅是为不同的语言返回不同的字符串。您可以阅读this article以获取更多信息,页面中有一个运行对话框示例,可帮助您入门。
答案 1 :(得分:1)
当然,您应该在系统中建立良好的本地化支持,然后为每个字符串使用转换器。
直到今天,我找到的最好的解决方案,我几乎总是使用它:
http://blogs.microsoft.co.il/tomershamam/2007/10/30/wpf-localization-on-the-fly-language-selection/
试一试。祝你好运答案 2 :(得分:0)
由于周期性依赖性限制,您无法在树中引用内部控件或其后代。 我建议你不要使用转换器进行多语言支持。这不是最好的方法。 来这里是为了做到最好的方式。 https://msdn.microsoft.com/en-us/library/ms745650(v=vs.110).aspx