PowerAppsのコンボボックスは多機能で便利なのですが扱いが難しいですね。
今回コンボボックスで何も選択されてなかったらボタンを非表示状態になるようにがんばりました。
コンボボックスは複数選択可能で任意の値の入力も出来るようにしました。ちなにみ下記の属性の設定が必要です。
IsSearchable = true
SelectMultiple = true
「何も選択されていない状態」の時にボタンのVisible属性が「false」になるようにすればボタンが消えてくれます。
しかし、これが結構難しかったです。結論から言うとボタンのVisible属性にこの式を入れて出来ました。
(#github129さん、ご指摘ありがとうございました。)
Visible = Or(
!IsBlank(Combobox1.SearchText),
!IsEmpty(Combobox1.SelectedItems)
)
任意の値は.SearchText属性なんですね。これは文字列なのでそれをIsBlank関数で入力されているかどうかを判断しています。
もう一つ、コンボボックスで何も選択されていないのを判断するのに、一つしか選択されていなくてもコンボボックスはテーブル扱いなのでIsBlank関数は使えません。その代わりIsEmpty関数を使ってIsEmpty(Combobox1.SelectedItems)で上手くできました。
上記の数式のおさらいをすると、PowerAppsでは「!」で意味が逆になるので、「任意の入力が空でない時」か「選択アイテム数が0でない時」この条件を満たしたら結果は「true」だし、満たしていなければ「false」なのでIf関数を省略しました。上記の式は下の式と同じ意味です。
Visible = If(
Or(
!IsBlank(Combobox1.SearchText),
!IsEmpty(Combobox1.SelectedItems)
),
true,
false
)