如何为绑定添加格式,使用string.Format或类似的东西格式化绑定值?我在其他线程中看到,您可以传递一个converterName。
我很快就浏览了代码,但找不到任何东西。我知道可能会发生信息丢失,这会破坏双向绑定,但我只想要这个来显示值。 我的具体案例是DateTime的绑定。
bindings.Bind(purchaseDate).To(vm => vm.RegisteredDevice.PurchaseDate);
我的愿望,例如:
bindings.Bind(purchaseDate).To(vm => vm.RegisteredDevice.PurchaseDate).WithFormat("hh:mm");
答案 0 :(得分:18)
要做到这一点,你可以创建一个StringFormatValueConverter,你可以使用它的参数作为要使用的格式字符串。
写作需要大约2分钟......在这里,我会证明:
public class StringFormatValueConverter : MvxValueConverter
{
public override object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null)
return null;
if (parameter == null)
return value;
var format = "{0:" + parameter.ToString() + "}";
return string.Format(format, value);
}
}
然后
set.Bind(myLabel).To(vm => vm.TheDate).WithConversion("StringFormat", "HH:MM:ss");
1分53秒;)