Funciones Back y Navigate en PowerAppsBack and Navigate functions in PowerApps

Cambia la pantalla que se muestra.Changes which screen is displayed.

Información generalOverview

La mayoría de las aplicaciones contienen varias pantallas.Most apps contain multiple screens. Use las funciones Back y Navigate para cambiar la pantalla que se muestra.Use the Back and Navigate function to change which screen is displayed. Por ejemplo, establezca la propiedad AlSeleccionar de un botón en una fórmula que incluya una función Navigate si desea mostrar una pantalla diferente cuando un usuario selecciona ese botón.For example, set the OnSelect property of a button to a formula that includes a Navigate function if you want to show a different screen when a user selects that button. En esta fórmula, puede especificar una transición visual, como Fade, para controlar cómo se cambia de una pantalla a otra.In that formula, you can specify a visual transition, such as Fade, to control how one screen changes to another.

Back y Navigate cambian solo la pantalla que se muestra.Back and Navigate change only which screen is displayed. Las pantallas que no se muestran actualmente siguen funcionando en segundo plano.Screens that aren't currently displayed continue to operate behind the scenes. Puede crear fórmulas que hagan referencia a propiedades de controles de otra pantalla.You can build formulas that refer to properties of controls on another screen. Por ejemplo, un usuario puede cambiar el valor de un control deslizante en una pantalla, navegar a una pantalla diferente que use ese valor en una fórmula y ver cómo afecta a lo que ocurre en la nueva pantalla.For example, a user can change the value of a slider on one screen, navigate to a different screen that uses that value in a formula, and see how it affects what happens in the new screen. Luego, el usuario puede navegar a la pantalla original y ver que el control deslizante ha conservado su valor.The user can then navigate back to the original screen and see that the slider has retained its value.

Las variables de contexto también se conservan cuando un usuario navega entre pantallas.Context variables are also preserved when a user navigates between screens. Puede usar Navigate para establecer una o varias variables de contexto para la pantalla que mostrará la fórmula, que es la única manera de establecer una variable de contexto desde fuera de la pantalla.You can use Navigate to set one or more context variables for the screen that the formula will display, which is the only way to set a context variable from outside the screen. Este enfoque se puede usar para pasar parámetros a una pantalla.You can use this approach to pass parameters to a screen. Si ha usado otra herramienta de programación, este enfoque es similar a pasar parámetros a procedimientos.If you've used another programming tool, this approach is similar to passing parameters to procedures.

DescripciónDescription

BackBack

La función Back muestra la pantalla que se visualizó más recientemente.The Back function displays the screen that was most recently displayed. No especifique ningún argumento para esta función.You don't specify any arguments for this function.

En el primer argumento, especifique el nombre de la pantalla para mostrar.In the first argument, specify the name of the screen to display.

En el segundo argumento, especifique cómo se cambia la pantalla anterior a la nueva pantalla:In the second argument, specify how the old screen changes to the new screen:

Argumento de transiciónTransition Argument DescripciónDescription
ScreenTransition.CoverScreenTransition.Cover La nueva pantalla se desliza dentro de una vista que cubre la pantalla actual.The new screen slides into view, covering the current screen.
ScreenTransition.FadeScreenTransition.Fade La antigua pantalla desaparece para revelar la nueva pantalla.The old screen fades away to reveal the new screen.
ScreenTransition.NoneScreenTransition.None La pantalla anterior se reemplaza rápidamente por la nueva pantalla.The old screen is quickly replaced with the new screen.
ScreenTransition.UnCoverScreenTransition.UnCover La pantalla anterior se desliza fuera de la vista para descubrir la nueva pantalla.The old screen slides out of view, uncovering the new screen.

Puede usar Navigate para crear o actualizar las variables de contexto de la nueva pantalla.You can use Navigate to create or update context variables of the new screen. Como tercer argumento opcional, pase un registro que contenga el nombre de la variable de contexto como un nombre de columna y el nuevo valor para la variable de contexto.As an optional third argument, pass a record that contains the context-variable name as a column name and the new value for the context variable. Este registro es el mismo que el registro que se usa con la función UpdateContext.This record is the same as the record that you use with the UpdateContext function.

Establezca la propiedad AlEstarOculto de la pantalla anterior, la propiedad AlEstarVisible de la nueva pantalla o ambas para realizar cambios adicionales durante la transición.Set the OnHidden property of the old screen, the OnVisible property of the new screen, or both to make additional changes during the transition. La propiedad App.ActiveScreen se actualizará para reflejar el cambio.The App.ActiveScreen property will be updated to reflect the change.

Back devuelve normalmente true pero si el usuario está en la primera pantalla mostrada y no hay una pantalla anterior, devuelve false.Back normally returns true but returns false if the user is on the first screen shown and there is no previous screen. Navigate devuelve normalmente true pero si hay un problema con uno de sus argumentos, devuelve false.Navigate normally returns true but returns false if there is a problem with one of its arguments.

Solo puede utilizar estas funciones dentro de una fórmula de comportamiento.You can use these functions only within a behavior formula.

SintaxisSyntax

Back()Back()

Navigate( Screen, Transition [, UpdateContextRecord ] )Navigate( Screen, Transition [, UpdateContextRecord ] )

  • Screen: requerido.Screen - Required. La pantalla que se va a mostrar.The screen to display.
  • Transición: requerido.Transition - Required. La transición visual usada entre la pantalla actual y la siguiente pantalla.The visual transition to use between the current screen and the next screen. Consulte la lista de valores válidos para este argumento anteriormente en este tema.See the list of valid values for this argument earlier in this topic.
  • UpdateContextRecord: valor opcional.UpdateContextRecord - Optional. Un registro que contiene el nombre de al menos una columna y un valor para cada columna.A record that contains the name of at least one column and a value for each column. Este registro actualiza las variables de contexto de la pantalla nueva como si se pasaran a la función UpdateContext.This record updates the context variables of the new screen as if passed to the UpdateContext function.

EjemplosExamples

FórmulaFormula DescripciónDescription ResultadoResult
Navigate( Details, ScreenTransition.None )Navigate( Details, ScreenTransition.None ) Muestra la pantalla Details sin transición o cambio en el valor de una variable de contexto.Displays the Details screen with no transition or change in value for a context variable. La pantalla Details aparece rápidamente.The Details screen appears quickly.
Navigate( Details, ScreenTransition.Fade )Navigate( Details, ScreenTransition.Fade ) Muestra la pantalla Details con una transición Fade.Displays the Details screen with a Fade transition. No se cambia ningún valor de una variable de contexto.No value of a context variable is changed. La pantalla actual desaparece para mostrar la pantalla Details.The current screen fades away to show the Details screen.
Navigate( Details, ScreenTransition.Fade, { ID: 12 } )Navigate( Details, ScreenTransition.Fade, { ID: 12 } ) Muestra la pantalla Details con una transición Fade y actualiza el valor de la variable de contexto ID a 12.Displays the Details screen with a Fade transition, and updates the value of the ID context variable to 12. La pantalla actual desaparece para mostrar la pantalla Details y la variable de contexto ID de esa pantalla se establece en 12.The current screen fades away to show the Details screen, and the context variable ID on that screen is set to 12.
Navigate( Details, ScreenTransition.Fade, { ID: 12 , Shade: Color.Red } )Navigate( Details, ScreenTransition.Fade, { ID: 12 , Shade: Color.Red } ) Muestra la pantalla Details con una transición Fade.Displays the Details screen with a Fade transition. Actualiza el valor de la variable de contexto ID a 12 y actualiza el valor de la variable de contexto Shade a Color.Red.Updates the value of the ID context variable to 12, and updates the value of the Shade context variable to Color.Red. La pantalla actual desaparece para mostrar la pantalla Details.The current screen fades away to show the Details screen. La variable de contexto ID en la pantalla Details está establecida en 12 y la variable de contexto Shade está establecida en Color.Red.The context variable ID on the Details screen is set to 12, and the context variable Shade is set to Color.Red. Si establece la propiedad Fill de un control de la pantalla Details en Shade, ese control se muestra en rojo.If you set the Fill property of a control on the Details screen to Shade, that control would display as red.

Paso a pasoStep-by-step

  1. Asigne un nombre a la pantalla predeterminada DefaultScreen, agréguele una etiqueta y establezca la propiedad Texto de esa etiqueta para que muestre Default.Name the default screen DefaultScreen, add a label to it, and set the Text property of that label so that it shows Default.
  2. Agregue una pantalla y asígnele el nombre AddlScreen.Add a screen, and name it AddlScreen.
  3. Agregue una etiqueta a AddlScreen y establezca la propiedad Texto de la etiqueta para que muestre Addl.Add a label to AddlScreen, and set the Text property of the label so that it shows Addl.
  4. Agregue un botón a AddlScreen y establezca su propiedad AlSeleccionar en esta función:Add a button to AddlScreen, and set its OnSelect property to this function:
    Navigate(DefaultScreen, ScreenTransition.Fade)Navigate(DefaultScreen, ScreenTransition.Fade)
  5. En AddlScreen, presione F5 y luego seleccione el botón.From the AddlScreen, press F5, and then select the button.
    Aparece DefaultScreen.DefaultScreen appears.

Otro ejemploAnother example