概要
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を使いましょう。