c# - 使用 MVVMCross 的属性条件绑定(bind)

标签 c# ios xamarin xamarin.ios mvvmcross

使用 mvvmcross 绑定(bind)实现以下内容的最佳方法是什么:

if (ViewModel.NumberOfUsers > 1)
  set.Bind (NumberOfUsersLabel).To ("NumberOfUsers + ' Users'");
else
  set.Bind (NumberOfUsersLabel).To ("NumberOfUsers + ' User'");

非常感谢您的帮助!

最佳答案

通常,Mvvm 开发人员在 ValueConverter

中进行这种类型的格式化

有关这方面的更多信息,请参阅 https://github.com/MvvmCross/MvvmCross/wiki/Value-Converters

这包括显示如何根据当前值更改字符串的“time ago”示例:

public class MyTimeAgoValueConverter : MvxValueConverter<DateTime, string>
{
    protected override string Convert(DateTime value, Type targetType, object parameter, CultureInfo cultureInfo)
    {
        var timeAgo = DateTime.UtcNow - value;
        if (timeAgo.TotalSeconds < 30)
        {
            return "just now";
        }

        if (timeAgo.TotalMinutes < 10)
        {
            return "a few minutes ago";
        }

        if (timeAgo.TotalMinutes < 60)
        {
            return "in the last hour";
        }

        if (timeAgo.TotalMinutes < 24*60)
        {
            return "in the last day";
        }

        return "previously";            
    }
}

关于c# - 使用 MVVMCross 的属性条件绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30114889/

相关文章:

ios - 解决 "' NSUnknownKeyException',原因:This class is not key value coding-compliant for the key X” exception

Xamarin 需要 Mac 才能编译,但那里有远程 Mac 服务,所以我不需要吗?

c# - 无法连接到 EntityFramework

c# - 在 GoDaddy 上通过 gmail SMTP 发送电子邮件

C# - 如何从工厂方法创建继承的泛型集合

ios - XCode 6 Storyboard - 如何为每个场景创建标题?

ios - Swift Core Data 只保存与循环中最后一个的关系

ios - 什么是 iOS 应用程序的编译/构建文件?

c# - 实体/LINQ/ASP.NET : ASPxGridView Adding Rules

c# - Xamarin Forms Picker ItemSource 值从 XAML 本地化