在 Windows Phone 8 中使用转换器处理静态文本

本文关键字:转换器 处理 静态 文本 Windows Phone | 更新日期: 2023-09-27 18:30:31

我想为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}" />

在 Windows Phone 8 中使用转换器处理静态文本

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

<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}}" />

或者,如果您真的想内联包含文本,那么您可以使用"转换器参数"传递它。 但是要使其正常工作,您需要修改转换器类以使用"参数"(如果已设置)。

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

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