我正在用一个资源字典在.net 4中进行本地化。有没有人有使用字符串格式的值的解决方案?
例如,假设我有一个带有键“somekey”的值:
<ResourceDictionary ...>
<s:String x:Key="SomeKey">You ran {0} miles</s:String>
</ResourceDictionary>
在文本块中使用它:
<TextBlock Text="{DynamicResource SomeKey}" />
例如,如何将一个整数与somekey的值组合为格式字符串?
最佳答案
您需要以某种方式绑定到viewmodel.value,然后使用(嵌套)绑定到格式字符串。
如果只有一个值:
<TextBlock
Text="{Binding Path=DemoValue, StringFormat={StaticResource SomeKey}}" />
当你也有
{1}
等,那么你需要多重绑定。编辑:
当您真的想在实时表单中更改语言时,明智的方法可能是在viewmodel中进行所有格式化。无论如何,我很少在mvvm中使用stringformat或multibinding。