cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Anonymous
Not applicable

Control conditional visibility

Hello,

 

I have a Gallery control ‘Gallery1’ that I would like to toggle visibility on-and-off based on a user clicking an image ‘Image1’. In other words, ‘Gallery1’ would be invisible by default. However, if a user were to click ‘Image1’, ‘Gallery1’ would appear. On a second click, it would disappear. 

 

I’ve tried an ‘IF’ statement, but likely I am not formatting it properly. Could someone chime-in with advice?

 

Thanks much in advance

1 ACCEPTED SOLUTION

Accepted Solutions
PK_Hong
Resolver II
Resolver II

@Anonymous

Define:
1. Gallery 1 .Visible = mygallery (any name will do)
2. Current screen while contains Gallery as
- Screen. OnVisible = UpdateContext ({mygallery: falsr})

So when you navigate this screen it will force the Gallery to be invisible.

Now write on the
Image1.OnSelect = UpdateContext ({mygallery: !mygallery}).

It means when you click on the image it will trigger action as
True or not true to make the Gallery1.Visible or not.

! Means reverse or negative.
It is the best formula for toggling something.

Hope this helps.

Have a nice day. Tq

View solution in original post

10 REPLIES 10
SmartMeter
Helper V
Helper V

Hi Marc314, 

I do this to make a similar hidden garbage can icon appear when a pencil button is hit (so delete record is a two step process) It should work for you if galleries and images have properties consistent with buttons, otherwise you may need to select a different trigger control:

 

1) Make a boolean variable on the edit screen called "enabled" (use command bar vies/variables to do this)
2) For your "make it appear button" set the on select code to set it to true with this statement:

 

UpdateContext({enabled: true})

 

3) Make the invisible object invisible by setting the Visible property to off (and it will disappear from the IDE too)
4) Set the DisplayMode property of the sometimes invisible object to this code, so that it becomes visible when the variable is flipped by the button hit in step 1:       

If(!enabled,DisplayMode.Disabled,DisplayMode.Edit)

 

Hope this helps!

 

Anonymous
Not applicable

Hello SmartMeter,

 

Thanks for the prompt reply. I'm still very much so a PowerApps newbie, so I'm attempting to follow. Please be patient. 🙂 

 


1) Make a boolean variable on the edit screen called "enabled" (use command bar vies/variables to do this)


 Could you clarify the formula for creating this variable (e.g., is the formula 'Set( enabled, Gallery1) or something else)?  Also, where is it placed (e.g., do I place this in the 'OnStart' property)?

 

I  believe that the other elements of your instruction make sense, but I suppose I have to first make it past step 1. 🙂 

 

Thanks much,

 

 

No problem, sometimes a picture is necessary. 

Go to the top of the PowerApps ribbon and click on view. 

The second ribbon will change to include variables. 

Click variables and a whole new screen will pop up, see second half of image below. 

From here you just create a new variable of type boolean, and make it be false.

See red ovals for visuals, and good luck with your app 😉

 

pavariable.png

Anonymous
Not applicable

Thanks for the info. When I go to create a new variable via the "Variables" ribbon option, I'm presented with the "You don't have any variables yet" screen--without an option to add one directly via this interface (see below).

 

Capture.PNG

 

I'm only able to see the boolean variable via the "Variables" menu if I were to first create the variable in the OnVisible property (see below).

Capture2.PNG

 

In which case, when I return to the "Variables" menu, I'm presented with this:

Capture3.PNG

You'll notice that despite the formula being set to 'false', the "Variables" menu is noting that there is "No value" (unlike your screen shot which is set to "false"). 

 

I'm sure it's something super simple that I'm missing.

 

Appreciate the help!

Anonymous
Not applicable

Hello everyone,

 

Any ideas? I welcome troubleshooting on the current approach or alternative solutions as well.

 

Forever grateful,

 

Marc

I think solution proposed by smartmeter will work:

 

If both gallery and image are in same screen set below rules:

 

Image1.OnSelect = UpdateContext({galleryEnabled:!galleryEnabled})

Gallery1.Visible = galleryEnabled

 

If gallery and Image are on different screens:

 

Image1.OnSelect = Set(galleryEnabled, !galleryEnabled)

Gallery1.Visible = galleryEnabled

 

PK_Hong
Resolver II
Resolver II

@Anonymous

Define:
1. Gallery 1 .Visible = mygallery (any name will do)
2. Current screen while contains Gallery as
- Screen. OnVisible = UpdateContext ({mygallery: falsr})

So when you navigate this screen it will force the Gallery to be invisible.

Now write on the
Image1.OnSelect = UpdateContext ({mygallery: !mygallery}).

It means when you click on the image it will trigger action as
True or not true to make the Gallery1.Visible or not.

! Means reverse or negative.
It is the best formula for toggling something.

Hope this helps.

Have a nice day. Tq

View solution in original post

JRaasumaa
Memorable Member
Memorable Member

Check out this post here for a good example of how to control visibility.

 

https://powerusers.microsoft.com/t5/PowerApps-Forum/Can-I-utilize-the-On-Select-function-do-display-...

Anonymous
Not applicable

I show hide a menu box on click of a button.But obviously I want the menu box to close whenever user clicks out of that box (not necessary needing to click on that button again but anywhere on the screen to close) Any ides How can I hide the menu rectangle if clicked anywhere except it?

Helpful resources

Announcements
PA_User Group Leader_768x460.jpg

Manage your user group events

Check out the News & Announcements to learn more.

Power Query PA Forum 768x460.png

Check it out!

Did you know that you can visit the Power Query Forum in Power BI and now Power Apps

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

R2 (Green) 768 x 460px.png

Microsoft Dynamics 365 & Power Platform User Professionals

DynamicsCon is a FREE, 4 half-day virtual learning experience for 11,000+ Microsoft Business Application users and professionals.

Users online (1,628)