[英]Mvvcross WithFallback on xamarin ios
我在xamarin iOS上使用MvvmCross。 我正在使用流利的ViewModel和json上的綁定。 我想嘗試WithFallback()函數,但是當ViewModel的屬性(在這種情況下為字符串)為null或為空時,它不會執行任何操作。 我嘗試了這個:
//This works
this.BindLanguage(Header1, "Title");
/* This works when vm.Message is not null or empty,
/* else print nothing, but don't call the WithFallback function
*/
set.Bind(myLbl).For(view => view.Text).To(vm => vm.Message).WithFallback("Something");
set.Apply();
另一個問題是我如何將后備項與viewmodel或json的屬性綁定。 非常感謝!
僅當綁定失敗時才使用Fallback
,而如果屬性存在並且為null或其他則不使用。
您可以在官方文檔中閱讀有關此內容的更多信息。
對於您的情況,我建議您使用ValueConverter,類似這樣的方法將起作用:
public class MyValueConverter : MvxValueConverter<string, string>
{
protected override string Convert(string value, Type targetType, object parameter, CultureInfo culture)
{
return !string.IsNullOrEmpty(value) ? value : "Something";
}
protected override string ConvertBack(string value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
然后你的綁定:
set.Bind(myLbl).For(view => view.Text).To(vm => vm.Message).WithConversion<MyValueConverter>();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.