Плагин MvvmCross Visibility не скрывает мой TextView - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь сделать элемент невидимым с помощью плагина MvvmCross Visibility.Я использую MvvmCross 5.7 и плагин MvvmCross Visibility 5.7.

Я пытался связать видимость объекта как с макета, так и со швейцарским переплетом.

У меня есть ViewModel, у которого есть собственностьПосмотрите, я это уже проверил.Вот как я пытаюсь сделать TextView невидимым:

    <TextView 
        android:id="@+id/testProp"
        android:layout_width="fill_parent"
        android:layout_height="20dp"
        android:text="Test visibility"
        local:MvxBind="Visibility Visibility(ShouldShowBackButton)" />

А также швейцарский код:

 public class ProfileFragmentView : MvxFragment
    {
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            base.OnCreateView(inflater, container, savedInstanceState);
            var view = this.BindingInflate(Resource.Layout.ProfileFragmentView, null);
            var backButton = view.FindViewById<Button>(Resource.Id.toolbarBackButton);
            var testButton = view.FindViewById<TextView>(Resource.Id.testProp);
            var set = this.CreateBindingSet<ProfileFragmentView, ProfileFragmentViewModel>();

            set.Bind(testButton).For(v => v.Visibility).To(vm => vm.ShouldShowBackButton)
                .WithConversion<MvxVisibilityValueConverter>();

            set.Apply();
            return view;
        }
    }

Ни один из методов не делает мой TextView невидимым.

1 Ответ

0 голосов
/ 04 февраля 2019

Вы должны объявить свою собственность реактивной

[Reactive]
public bool ShouldShowBackButton
    {
        get => this._showBackButton;
       ....
...