将Converter用于静态文本在Windows Phone 8中

时间:2014-11-14 04:30:16

标签: c# windows-phone-8

我想为Binding参数提供文字这是我的代码.. 但我只是想使用转换器来改变文本语言

<TextBlock Text="{Binding #mytext goes here#,Converter={StaticResource languageConverter}}"    
     Style="{StaticResource TbInfo}" />

在上面的文本块中,我想使用languageConverter

更改文本
  • 更新

即使我可以将类属性直接绑定为字符串或内容,如

    public string HEADER_TEXT = {get;set;}


<TextBlock Text="{Binding HEADER_TEXT,Converter={StaticResource languageConverter}}"    
     Style="{StaticResource TbInfo}" />

1 个答案:

答案 0 :(得分:0)

我只想添加另一个静态资源条目:

<UserControl.Resources>
    <sys:String x:Key="HeaderText" xmlns:sys="clr-namespace:System;assembly=mscorlib">mytext goes here</sys:String>
</UserControl.Resources>

<TextBlock Text="{Binding Source={StaticResource HeaderText},Converter={StaticResource languageConverter}}" />

或者,如果您真的想要将文本包含在内,那么您可以使用&#34; ConverterParameter&#34;来传递它。但要实现这一点,您需要修改转换器类以使用&#34;参数&#34;如果设置了。

<TextBlock Text="{Binding ConverterParameter='mytext goes here',Converter={StaticResource languageConverter}}"  />

另外,我认为@StuartSmith是对的,理想情况下你应该考虑使用.NET globalization/localization framework。这为您提供了更好的运行时性能(本地化的DLL被编译为附属程序集,有效地减少了应用程序的内存占用)。