cancel
Showing results for 
Search instead for 
Did you mean: 

Parent & Me - please add reference to the control itself.

We can reference control to a parent (Like Parent.Width, .Height, .Fill, etc.). For the controls however we have to reference it by it's name. So when I have a control name 'Label1' I can reference it bij Label1.Width, .Height, . Color, .Fill, etc.

 

It should be a great idea to add a global reference to the control itself. Me comes in mind as a good name for this parameter. So Me.Width, .Height, .Fill, etc.

 

This parameter would make it faster to copy formula's from control to control or add a formula to multiple selected controls. An example:

 

Say I have ten controls (Control1,2,3,4,5,...) and I want them to be at the left off my screen. I can then select them all and just do  the following formula on the X parameter: 

Parent.Width - Me.Width

 

Current I must adjust the formula for each control like:

Parent.Width - Control1.Width // for the first control
Parent.Width - Control2.Width // for the second control
Parent.Width - Control3.Width // for the third control
// and so on

This is time consuming because I have to copy/paste/adjust for each individual control.

So I would make a major time reduction to be able to do all ten controls in the same time.

 

Status: Completed

This is provided with the self fx shown below.

 

Adding @FilipK from the Power Apps team in case there are any follow-up questions, since I don't see it in the formula reference doc here yet.

Comments
Advocate V

FWIW, it took me a bit to find how to create a Preview Enviro so I could play with this LONG-DESIRED functionality.  For others needing that info....

 

https://docs.microsoft.com/en-us/power-platform/admin/preview-environments

Power Automate
Status changed to: Completed

This is provided with the self fx shown below.

 

Adding @FilipK from the Power Apps team in case there are any follow-up questions, since I don't see it in the formula reference doc here yet.

Regular Visitor

Thanks God, guys and girls from Microsoft wake up! 😉 @Audrie-MSFT 
Also thanks for this post at @KroonOfficeSol 

 

Remark: Sorry, for this fast created text - as you know - pareto-prinziple 80%/20% ...

 

You may ask, why is the "this"/"self" pointer necessary?

 

I can explain:

1. Currently, it is possible to build-up the whole app based on Data-Input (so called Model-Driven).
This mean, that the flow is controlled by variables/collections of type Screen,
which are set inside the app with the help of
condition-results (if, user-input) of previous screens.

 

2. This means, that now only the Layout will be necessary to handle.
As we know, from documentation, this is possible to copy-past the screens and it's elements.
For an example, look in the MS examples of powerapps-maker.

 

3. And what is happen with the static data?
Static data, like the heading-color or the default-background-color is just
set inside a collection at start-up.

4. But what we was missing is the *help for Designers* / Development-Process.
Typically, the final app will not be ready at 100% at the first shoot.
Cause we are good but maybe not 100% gods. 😉
So it happens, that e.g. the relation of width to height have to be adjusted.
Or the font-size of a heading have to be adjusted.

5. Luckily there are already components.
They help in the designing-process to solve those kind of general changes.
_Imagine_ in the app have several headings all with different height but with same font-size.
To change now the font-size for all headings, the component "heading" can help to do this
simultanously on all screens.

In the end: Designing is always using space-partition-hierarchies.

6. Now, you might ask: Why it is necessary to manage this change by a formula?
I think, this is due to the reason the designing is not 100% correct from the beginning.
And so it helps a lot to have a hierarchy or at least components with "self" pointer.

_Imagine_, in an app is the component Heading used for several times on different screens.
And the component heading have also different heigths.

Now, the designer recognize, there is a problem with the font-size of all headings.
The fonts are too big, because the texts are too long.
-->
He/She can start to go through all headings and change this manually.

Or, he/she can just adjust the font-size inside the component by the formula:
font-size = self.Text.Length / 12
( / 12, to result in pt's).


Resumee:
So having a self is very helpful, due to the reason there is always a designing-process.
And designing-process means IMHO always relations and hierarchies.
Relations expressed by formulas and hierarchies are still missing.

So only additionally hierarchies with component of components would be wonderful, to result in the final design-paradigm.

 

BR, devEagleBasti

BTW: the cyclic reference is not working font-size = font-size * 0.9, due to the data-event-trigging.

Regular Visitor

Hi together,

 

well - Microsoft did also a good job before. 🙂

The system was possible to use as similar as PowerPoint.

Just see the screens as slides and copy-past every think.

forget about the renaming and the formulas inserted in the fields will be

copied also, and ajusted accordingly to the new names.

 

Finally Microsoft have also a cool "Master" the components.

Here its the same. There are no component containing components possible,

but it is possible to insert just the same content of other components

by copy-past.

 

So Microsoft did a good job, because:
when you have all build up with components,

you can change all components by just edit the type of component.

Means, when you want to halfe the size of the hight,

input.width = Parent.Height /2;

Cause the component has a Parent.Height.

 

BR, eagleBasti