我们正在开发一个WPF&需要多语言支持的MVVM应用程序。在每个带有静态文本的控件上,我们使用转换器来查找用户语言的相应单词。
但是,这意味着每个控件都不显示任何文本。这会在设计时对UI开发人员造成一些刺激。有没有办法显示设计时文本?
例如:
<TextBlock>
<TextBlock.Text>
<Binding Converter="{StaticResource Translator}"
Path="Controller"
ConverterParameter="Search for" />
</TextBlock.Text>
</TextBlock>
如何在设计时执行此转换器以显示已转换的转换器参数?
答案 0 :(得分:1)
首先,我建议您使用markup extension。那么你的标记看起来像这样:
<TextBlock Text="{my:Localize Key=MyLabel, Default='The text you want to be displayed by default'}" .../>
默认文本也将显示在Blend中。
其次,只要转换器返回有效的默认文本,我就不会看到转换器方法的问题。换句话说,转换器应该在设计时和运行时执行。