我试图按照LinearLayout状态绑定ViewModel以显示/隐藏。由于某些原因,它对按钮和文本视图非常有用,但对LinearLayout却不起作用。
可能是什么原因?
<LinearLayout
android:orientation="vertical"
android:minWidth="25dp"
android:minHeight="25dp"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
local:MvxBind="Visibility WaitingForConfirmation">发布于 2013-09-20 10:55:36
我刚刚尝试了一个使用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隐藏/显示机制--它只使用可见性插件来转换bool->Visibility enum -所以代码也应该适用于此。
更新:我也在Droid示例https://github.com/slodge/MvvmCross-Tutorials/tree/master/ValueConversion中尝试过
在此范围内,我将显示的视图更改为LinearLayout in Visibility.axml
该样本工作良好:

WaitingForConfirmation是什么?我怀疑这是一个bool,在这种情况下,您将需要使用可见性转换器,就像在Windows绑定中一样。可见性插件中提供了标准的可见性转换器,可用于:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="200dp"
android:background="#ff0000"
local:MvxBind="Visibility MakeItVisible, Converter=Visibility" />最后要注意的一点是: MvvmCross确实在继续调整(并希望改进)其绑定类型转换--因此,在某些时候,您可能可以在Visibility enums中使用bools,但这可能永远不会被推荐使用--通常最好使用值转换器来控制绑定操作(就像在Windows中一样)。
https://stackoverflow.com/questions/18906218
复制相似问题