2012-01-11 4 views
0

Я хотел бы иметь возможность показывать или скрывать табличное представление одним нажатием кнопки. Я знаю, как установить видимость представления, просто не как переключаться взад и вперед.MonoDroid Toggle View Видимость

Edit: Еще один вариант, который, кажется, работает для кого нуждающегося, чтобы сделать это:

 showHide.Click += delegate 
     { 
      if (otherEquip.Visibility == ViewStates.Visible) 
      { 
       otherEquip.Visibility = ViewStates.Invisible; 
      } 
      else 
      { 
       otherEquip.Visibility = ViewStates.Visible; 
      } 
     }; 

ответ

1

Там нет встроенного в методе переключения, что я знаю. Есть также три состояния видимости, которые вид может иметь - видимый, невидимый, ушедший - поэтому «переключение» на самом деле не работает. Если вы хотите, чтобы переключаться между невидимым и видимым, например, вы могли бы сделать что-то вроде:

view.Visibility = view.Visibility == ViewStates.Invisible 
         ? ViewStates.Invisible 
         : ViewStates.Visible; 

Или, если вы хотите, чтобы сделать его более многоразовые вы можете поместить его в метод расширения:

public static class ViewExtensions 
{ 
    public static void ToggleVisibility(this View view) 
    { 
     view.Visibility = view.Visibility == ViewStates.Invisible 
           ? ViewStates.Invisible 
           : ViewStates.Visible; 
    } 
} 

, а затем вызывать на вид:

view.ToggleVisibility();