在设计时绑定到WPF标签,按钮等?

时间:2011-01-27 14:00:15

标签: wpf vb.net mvvm

我们正在开发一个WPF&需要多语言支持的MVVM应用程序。在每个带有静态文本的控件上,我们使用转换器来查找用户语言的相应单词。

但是,这意味着每个控件都不显示任何文本。这会在设计时对UI开发人员造成一些刺激。有没有办法显示设计时文本?

例如:

        <TextBlock>
          <TextBlock.Text>
              <Binding Converter="{StaticResource Translator}"
                       Path="Controller"
                       ConverterParameter="Search for" />
          </TextBlock.Text>
        </TextBlock>

如何在设计时执行此转换器以显示已转换的转换器参数?

1 个答案:

答案 0 :(得分:1)

首先,我建议您使用markup extension。那么你的标记看起来像这样:

<TextBlock Text="{my:Localize Key=MyLabel, Default='The text you want to be displayed by default'}" .../>

默认文本也将显示在Blend中。

其次,只要转换器返回有效的默认文本,我就不会看到转换器方法的问题。换句话说,转换器应该在设计时和运行时执行。