即使绑定工作,可见性转换器也不起作用

时间:2017-10-27 14:23:33

标签: c# android xamarin.android mvvmcross

我正在尝试使用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,视图仍然“消失”。

我错过了什么吗?我还需要添加其他内容吗?请注意,这是我用于编辑可见性的所有代码。

0 个答案:

没有答案