Функции Back и Navigate в PowerAppsBack and Navigate functions in PowerApps

Эти функции изменяют отображаемый экран.Changes which screen is displayed.

ОбзорOverview

Большинство приложений содержат несколько экранов.Most apps contain multiple screens. Чтобы изменить отображаемый экран, используйте функции Back и Navigate.Use the Back and Navigate function to change which screen is displayed. Например, если вы хотите, чтобы при нажатии этой кнопки отображался другой экран, можно задать в качестве значения свойства OnSelect для кнопки формулу с функцией Navigate.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. Чтобы управлять переключениями одного экрана на другой, в этой формуле можно указать визуальный переход, например Fade.In that formula, you can specify a visual transition, such as Fade, to control how one screen changes to another.

Функции Back и Navigate изменяют только отображаемый экран.Back and Navigate change only which screen is displayed. Экраны, которые в настоящее время не отображаются, продолжают работать в фоновом режиме.Screens that aren't currently displayed continue to operate behind the scenes. Вы можете создавать формулы, ссылающиеся на свойства элементов управления другого экрана.You can build formulas that refer to properties of controls on another screen. Например, пользователь может изменить значение ползунка на одном экране, перейти на другой экран, который использует это значение в формуле, и просмотреть, как изменения повлияют на работу нового экрана.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. Пользователь может вернуться к исходному экрану и увидеть, что значение ползунка было сохранено.The user can then navigate back to the original screen and see that the slider has retained its value.

Переменные контекста также сохраняются во время перехода между экранами.Context variables are also preserved when a user navigates between screens. Чтобы задать одну или несколько переменных контекста для экрана, который будет отображаться формулой, используйте функцию Navigate. Это единственный способ задать переменную контекста вне экрана.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. Этот подход можно использовать для передачи параметров на экран.You can use this approach to pass parameters to a screen. Если вы используете другое средство программирования, этот подход аналогичен переносу параметров в процедуры.If you've used another programming tool, this approach is similar to passing parameters to procedures.

ОписаниеDescription

BackBack

Функция Back отображает экран, который был показан последним.The Back function displays the screen that was most recently displayed. Для этой функции не нужно указывать аргументы.You don't specify any arguments for this function.

Для первого аргумента укажите имя отображаемого экрана.In the first argument, specify the name of the screen to display.

Для второго аргумента укажите способ изменения старого экрана на новый.In the second argument, specify how the old screen changes to the new screen:

Аргумент переходаTransition Argument ОписаниеDescription
ScreenTransition.CoverScreenTransition.Cover Новый экран появляется в представлении подобно слайдам, заменяя текущий экран.The new screen slides into view, covering the current screen.
ScreenTransition.FadeScreenTransition.Fade Старый экран исчезает, а новый появляется.The old screen fades away to reveal the new screen.
ScreenTransition.NoneScreenTransition.None Старый экран быстро заменяется на новый.The old screen is quickly replaced with the new screen.
ScreenTransition.UnCoverScreenTransition.UnCover Старый экран сменяется новым в представлении подобно слайдам.The old screen slides out of view, uncovering the new screen.

Вы можете использовать функцию Navigate, чтобы создать или обновить переменные контекста нового экрана.You can use Navigate to create or update context variables of the new screen. В виде необязательного третьего аргумента передайте запись, содержащую имя переменной контекста как имя столбца, и новое значение для переменной контекста.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. Эта запись аналогична записи, которую вы использовали с функцией UpdateContext.This record is the same as the record that you use with the UpdateContext function.

Для старого экрана задайте свойство OnHidden, для нового — OnVisible или задайте оба свойства, чтобы внести дополнительные изменения в процедуру перехода.Set the OnHidden property of the old screen, the OnVisible property of the new screen, or both to make additional changes during the transition. При этом будет обновлено свойство App.ActiveScreen.The App.ActiveScreen property will be updated to reflect the change.

Функция Back обычно возвращает значение true, однако если пользователь использует первый экран, а предыдущий экран отсутствует, возвращается значение false.Back normally returns true but returns false if the user is on the first screen shown and there is no previous screen. Обычно функция Navigate возвращает значение true, однако при наличии проблемы с одним из аргументов возвращается значение false.Navigate normally returns true but returns false if there is a problem with one of its arguments.

Эти функции можно использовать только в формуле управления поведением.You can use these functions only within a behavior formula.

СинтаксисSyntax

Back()Back()

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

  • Screen — обязательный аргумент.Screen - Required. Отображаемый экран.The screen to display.
  • Transition — обязательный аргумент.Transition - Required. Визуальный переход, используемый при переходе между текущим экраном и следующим.The visual transition to use between the current screen and the next screen. Допустимые значения для этого аргумента см. в предыдущем разделе.See the list of valid values for this argument earlier in this topic.
  • UpdateContextRecord — необязательный аргумент.UpdateContextRecord - Optional. Запись, содержащая имя как минимум одного столбца и значение каждого из них.A record that contains the name of at least one column and a value for each column. Эта запись обновляет переменные контекста нового экрана таким же образом, как при передаче их функции UpdateContext.This record updates the context variables of the new screen as if passed to the UpdateContext function.

ПримерыExamples

ФормулаFormula ОписаниеDescription Возвращаемый результатResult
Navigate( Details, ScreenTransition.None )Navigate( Details, ScreenTransition.None ) Отображается экран Details без эффекта перехода или изменения значения переменной контекста.Displays the Details screen with no transition or change in value for a context variable. Экран Details отображается мгновенно.The Details screen appears quickly.
Navigate( Details, ScreenTransition.Fade )Navigate( Details, ScreenTransition.Fade ) Отображается экран Details с переходом типа Fade.Displays the Details screen with a Fade transition. Значение переменной контекста не меняется.No value of a context variable is changed. Текущий экран исчезает, и отображается экран Details.The current screen fades away to show the Details screen.
Navigate( Details, ScreenTransition.Fade, { ID: 12 } )Navigate( Details, ScreenTransition.Fade, { ID: 12 } ) Отображается экран Details с переходом типа Fade, и значение переменной контекста ID меняется на 12.Displays the Details screen with a Fade transition, and updates the value of the ID context variable to 12. Текущий экран исчезает, и отображается экран Details, а для переменной контекста ID задается значение 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 } ) Отображается экран Details с переходом типа Fade.Displays the Details screen with a Fade transition. Значение переменной контекста ID изменяется на 12, а значение переменной контекста Shade — на Color.Red.Updates the value of the ID context variable to 12, and updates the value of the Shade context variable to Color.Red. Текущий экран исчезает, и отображается экран Details.The current screen fades away to show the Details screen. Для переменной контекста ID на экране Details задается значение 12, а для переменной контекста Shade — значение Color.Red.The context variable ID on the Details screen is set to 12, and the context variable Shade is set to Color.Red. Если на экране Details задать для свойства Fill элемента управления значение Shade, этот элемент управления будет отображаться красным цветом.If you set the Fill property of a control on the Details screen to Shade, that control would display as red.

Пошаговое руководствоStep-by-step

  1. Присвойте экрану по умолчанию имя DefaultScreen, добавьте к нему метку и задайте для свойства Text этой метки значение 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. Добавьте экран с именем AddlScreen.Add a screen, and name it AddlScreen.
  3. Для экрана AddlScreen добавьте метку и задайте свойству Text метки значение Addl.Add a label to AddlScreen, and set the Text property of the label so that it shows Addl.
  4. Добавьте кнопку на экран AddlScreen и задайте в качестве значения свойства OnSelect следующую функцию:Add a button to AddlScreen, and set its OnSelect property to this function:
    Navigate(DefaultScreen, ScreenTransition.Fade)Navigate(DefaultScreen, ScreenTransition.Fade)
  5. На экране AddlScreen нажмите клавишу F5, а затем нажмите кнопку.From the AddlScreen, press F5, and then select the button.
    Отобразится экран DefaultScreen.DefaultScreen appears.

Другой примерAnother example