我正在尝试使用MvvmCross中的可见性转换器,但出于某种原因,我正在尝试编辑的视图的可见性根本不会改变。
我正在使用流畅的绑定来绑定元素:
var set = this.CreateBindingSet<NextStopFragment, NextStopViewModel>();
set.Bind(Header).For(v => v.Visibility).To(vm => vm.LayoutVisibility_0).WithConversion("Visibility");
set.Apply();
这是我的viewmodel中的代码:
private bool _layoutVisibility_0 = false;
public bool LayoutVisibility_0
{
get { return _layoutVisibility_0; }
set { _layoutVisibility_0 = value; RaisePropertyChanged(() => LayoutVisibility_0); }
}
public override void Prepare(Parameter parameter)
{
LayoutVisibility_0 = true;
}
这是我绑定的视图的布局(请注意我限制使用流畅的绑定):
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/NextStopHeader"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/border_bottom_gray"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:visibility="gone"/>
目前我只是尝试从一开始就使LinearLayout可见,但它不起作用。绑定工作(我认为),因为每次我尝试编辑它时属性都会正确更新,但即使属性设置为true,视图仍然“消失”。
我错过了什么吗?我还需要添加其他内容吗?请注意,这是我用于编辑可见性的所有代码。