MvvMCross绑定格式字符串
本文关键字:字符串 格式 绑定 MvvMCross | 更新日期: 2023-09-27 18:12:29
如何为绑定添加格式,该格式绑定值与字符串。格式或类似的东西?我在其他线程看到,你可以传递一个converterName。
- 是否存在此问题的转换器?
- 我在哪里可以看到MvvMCross v3的标准转换器列表?
我很快浏览了代码,但找不到什么。我知道可能会发生信息丢失,破坏双向绑定,但我只希望这显示值。我的具体案例是绑定一个DateTime。
bindings.Bind(purchaseDate).To(vm => vm.RegisteredDevice.PurchaseDate);
我的愿望
bindings.Bind(purchaseDate).To(vm => vm.RegisteredDevice.PurchaseDate).WithFormat("hh:mm");
要做到这一点,你可以创建一个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");