gpt4 book ai didi

android - Mvvm交叉验证绑定(bind)可见性

转载 作者:行者123 更新时间:2023-11-29 16:04:51 25 4
gpt4 key购买 nike

我按照此处的说明将我的 View 模型验证绑定(bind)到输入表单。 Using MVVMCross to bind to error messages

我现在遇到的问题是,由于验证元素,表单上有很多额外的间距。如何解决这些间距问题?由于每个字段都没有属性,因此使用可见性转换器有点困难。 Android 和 iOS 也有同样的问题。我想也许是某种自定义可见性转换器?

最佳答案

我认为快速修复可能是使用像 Visible Errors['Email'] 这样的绑定(bind) - 但是,您报告说它不起作用(所以将其转移到 https://github.com/MvvmCross/MvvmCross/issues/494 - 谢谢)

既然这不能直接工作,那么你应该能够使用类似的东西(在 Android 中)绑定(bind) Visible bool 属性:

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#ff0000"
android:text="My error text"
local:MvxBind="Visible ErrorExists(Errors['Email'],FallbackValue=null)"
/>

ErrorExists 是:

public class ErrorExistsValueConverter : MvxValueConverter
{
public override object Convert(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return (value != null);
}
}

对于 iOS,如果您要显示/隐藏 UIView,则需要确保您的 UI 布局自动更新 - 例如使用约束


作为替代 UI 技术,您还应该能够对 EditText 的背景颜色使用绑定(bind) - 类似于 https://github.com/MvvmCross/MvvmCross-Tutorials/blob/master/ValueConversion/ValueConversion.UI.Droid/Resources/Layout/View_Colors.axml 中的颜色绑定(bind)。

关于android - Mvvm交叉验证绑定(bind)可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19963251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com