我想为 Binding
参数提供文本这是我的代码..
但我只想使用转换器来更改文本语言
<TextBlock Text="{Binding #mytext goes here#,Converter={StaticResource languageConverter}}"
Style="{StaticResource TbInfo}" />
在上面的文本 block 中,我想使用 languageConverter
更改文本
- 更新
即使我可以直接将类属性绑定(bind)为字符串或内容,如
public string HEADER_TEXT = {get;set;}
<TextBlock Text="{Binding HEADER_TEXT,Converter={StaticResource languageConverter}}"
Style="{StaticResource TbInfo}" />
最佳答案
我只想添加另一个静态资源条目:
<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}}" />
或者,如果您确实想要内联文本,则可以使用“ConverterParameter”传递它。但要使其正常工作,您需要修改转换器类以使用“参数”(如果已设置)。
<TextBlock Text="{Binding ConverterParameter='mytext goes here',Converter={StaticResource languageConverter}}" />
此外,我认为@StuartSmith 是对的,理想情况下您应该考虑使用 .NET 的 globalization/localization framework .这为您提供了更好的运行时性能(本地化的 DLL 被编译为附属程序集,这有效地减少了应用程序的内存占用)。
关于c# - 在 Windows Phone 8 中使用静态文本转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26922906/