我刚刚尝试使用bool Visible
伪属性进行快速测试,它适用于TextView
两者LinearLayout
<TextView
android:text="Random text"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
local:MvxBind="Visible Generosity > 12" />
<LinearLayout
android:orientation="vertical"
android:minWidth="25dp"
android:minHeight="25dp"
android:background="#ff0000"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
local:MvxBind="Visible Generosity > 12" />
该Visibility
属性绑定到相同的底层 Android 隐藏/显示机制 - 它只是使用 Visibility 插件来转换bool
->Visibility
枚举 - 所以代码也应该适用于此......
更新:我也在 Droid 示例中尝试过https://github.com/slodge/MvvmCross-Tutorials/tree/master/ValueConversion
在此我只是将显示的视图更改LinearLayout
为https://github.com/slodge/MvvmCross-Tutorials/blob/master/ValueConversion/ValueConversion.UI.Droid/Resources/Layout/View_Visibility.axml
此示例运行良好:
是什么WaitingForConfirmation
?我怀疑这是一个布尔值,在这种情况下,您将需要使用可见性转换器,就像在 Windows 绑定中一样。Visibility 插件中提供了一个标准的可见性转换器,可以使用:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="200dp"
android:background="#ff0000"
local:MvxBind="Visibility MakeItVisible, Converter=Visibility" />
最后一点:MvvmCross 确实会继续适应(并希望改进)它的绑定类型转换——所以在某些时候你可能能够摆脱使用bool
s with Visibility enums
——但这可能永远不会被推荐的做法——通常它是最好使用值转换器来控制您的绑定操作(就像在 Windows 中一样)。