概要

Xamarin.Formsで、表示したラベルや画像などを消すには、その要素を探し出して削除すれば終わりです。

しかし、消す必要はなく、むしろ消してはダメで、非表示にしておきたいということもあります。

ここでは、Xamarinにおける要素の非表示の方法を紹介します。

環境

  • Xamarin.Forms
  • Visual Studio 2019 for Mac

要素の非表示

Xamarinで要素を非表示にするためのプロパティとして、IsVisibleがあります。

IsVisibleにFalseを指定することで、その要素はビジュアルツリーに含まれなくなります。

つまり、描画されないということです。

使い方として、XAMLの場合、次のようにすることでこのLabelは表示されなくなります。

<Label x:Name="TestLabel" Text="Test Label" IsVisible="False" />

もし、表示したい場合は、コードで次のような処理を記述します。

TestLabel.IsVisible = true;

簡単に、要素の表示・非表示を切り替えることができました。

似たようなプロパティにIsEnableがありますが、これは要素の有効か無効かを切り替えるプロパティで、Falseを設定することで例えばButtonであれば、押せなくなったりします。 私は、間違えてIsEnableをFalseにして、非表示にできないとハマったことがあるので気をつけてください。

さいごに

元々、IsEnableとIsVisibleを間違えたことから、この記事を書きました。

表示・非表示を切り替える際には間違えずに、IsVisibleを使いましょう。