我正在用一个资源字典在.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。

08-06 19:00