我正在构建一个原生的Xamarin应用程序,我正在使用 Mvvmcross 来执行此操作。这是一个非常好的工具,但我仍然在学习它是如何工作的。
我在文档中发现yould可以使用绑定执行以下操作:
local:MvxBind="Text Format('Line: {0}', Line.Name)"
这里使用格式绑定Testclass.Name
变量,结果将是
行:TestName
现在我想做同样的事情,但也要计算Line:
的翻译。通常,对于翻译,您可以执行以下操作。
local:MvxLang="Text Line_Label"
所以我的想法是做这样的事情:
local:MvxLang="Text Format('{0}{1}', Line_Label, Line.Name)"
但它并没有像这样工作。有没有人知道这是否可能以及如何?
答案 0 :(得分:0)
使用西藏与当地绑定:MvxBind。让我们假设你有:
BaseViewModel.cs
public abstract class BaseViewModel : MvxViewModel
{
public IMvxLanguageBinder TextSource
{
get
{
return new MvxLanguageBinder(
Constants.GeneralNamespace,
GetType().Name);
}
}
}
MainViewModel.cs继承自BaseViewModel,具有字符串属性Name:
public string Name => "Radek";
TextProviderBuilder就像在Stuart的N + 1天(第21期)https://www.youtube.com/watch?v=VkxHtbJ_Tlk
带有" MyLabel"的JSON翻译文件键
{
"MyLabel" : "Your name:"
}
答案:然后Android布局axml文件将包含绑定
local:MvxBind="Text Language(TextSource,'MyLabel') + ' ' + Name; Click NextCommand"
我不知道如何使用local:MvxLang,但上面的代码完成了这项工作:)