我们正在开发需要多语言支持的 WPF 和 MVVM 应用程序。在每个具有静态文本的控件上,我们使用转换器来查找适合用户语言的单词。
但是,这意味着每个控件不显示任何文本。这会给 UI 开发人员在设计时带来一些烦恼。有没有办法显示设计时文本?
例如:
<TextBlock>
<TextBlock.Text>
<Binding Converter="{StaticResource Translator}"
Path="Controller"
ConverterParameter="Search for" />
</TextBlock.Text>
</TextBlock>
如何使该转换器在设计时执行以显示转换后的转换器参数?
最佳答案
首先我建议您使用markup extension为了那个原因。然后你的标记将看起来像这样:
<TextBlock Text="{my:Localize Key=MyLabel, Default='The text you want to be displayed by default'}" .../>
默认文本也将显示在 Blend 中。
其次,只要转换器返回有效的默认文本,我就看不到转换器方法的问题。换句话说,转换器应该在设计时和运行时执行。
关于wpf - 在设计时绑定(bind)到 WPF 标签、按钮等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4817237/