Is there a way of either navigating to the the screen you're currently on or at least triggering the OnVisible() function again? I say this because Navigate( SomeScreen), where "SomeScreen" is the currently active screen does nothing.
The use case is that we have a complex screen which uses data from multiple data sources (so obviously we don't use the simple Form control). We perform complicated de-serialisation in the OnVisible() function to get the data from SQL into a form which PowerApps controls can consume.
There's a global "current record" variable which has many foreign keys attached which drive the behaviour of the various groups of screen controls according to a bunch of business rules. This all works very efficiently at the moment.
To add functionality to a new button on this screen which would allow the user to jump to another master record, we set the global record primary key and then tried to Navigate() to ourselves, so that all the code in OnVisible() can run again.
It would be ridiculous to replicate all the OnVisible() code in the button's OnSelect() function. Surely there's a cleaner way?
Being able to add custom behaviour functions to screens (as we can with components) would solve this.