Cria ou atualiza uma ou mais variáveis de contexto da tela atual.

Visão geral

Use a função AtualizarContexto para criar uma variável de contexto que armazena temporariamente uma informação, como o número de vezes que o usuário selecionou um botão ou o resultado de uma operação de dados.

Variáveis de contexto limitam-se a uma tela, o que significa que você não pode criar uma fórmula que se refere a uma variável de contexto em outra tela. Se já tiver usado outra ferramenta de programação, você poderá pensar uma variável de contexto como sendo semelhante a uma variável local. Se você quiser o equivalente a uma variável global, crie uma coleção usando a função Coletar ou LimparColeta.

Os PowerApps são baseados em fórmulas que recalculam automaticamente conforme o usuário interage com um aplicativo. As variáveis de contexto não oferecem esse benefício e podem fazer com que seja mais difícil criar e entender seu aplicativo. Antes de usar uma variável de contexto, veja trabalhando com variáveis.

Descrição

Para criar ou atualizar uma variável de contexto, passe um único registro para a função AtualizarContexto. Em cada registro, especifique o nome de uma colunaque define ou corresponde ao nome da variável e o valor para o qual você deseja definir essa variável.

  • Se você especificar o nome de uma variável definida anteriormente, AtualizarContexto definirá o valor da variável como o valor que você especificar.
  • Se você especificar o nome de uma variável que ainda não existe, AtualizarContexto criará uma variável com o mesmo nome e definirá o valor da variável como o valor que você especificar.
  • Se você tiver definido uma variável anteriormente e não especificá-la nesta fórmula AtualizarContexto, seu valor permanecerá o mesmo.

Você não pode remover uma variável de contexto após defini-la.

Você faz referência a uma variável de contexto em uma fórmula usando o nome da coluna da variável. Por exemplo, AtualizarContexto ({MostrarLogo: true}) cria uma variável de contexto chamada MostrarLogo e define seu valor como true. Você pode usar o valor dessa variável de contexto usando o nome MostrarLogo em uma fórmula. Você pode escrever MostrarLogo como a fórmula para a propriedade Visível do controle de imagem e exibir ou ocultar tal controle com base no valor da variável de contexto, ou seja, se ele é true ou false.

Como mostram os exemplos neste tópico, variáveis de contexto podem conter vários tipos de informações, incluindo:

  • um único valor
  • um registro
  • uma coleção
  • uma referência de objeto
  • qualquer resultado de uma fórmula

Uma variável de contexto mantém seu valor até que o usuário feche o aplicativo. Se você definir uma variável de contexto e configurar seu valor em uma determinada tela, essas informações permanecerão intactas, mesmo se o usuário alternar para uma tela diferente.

Toda variável de contexto é vinculada a uma tela. Se quiser definir uma variável de contexto em uma tela e modificar essa variável em outra tela, você deverá criar uma fórmula que se baseie na função Navegar.

AtualizarContexto não tem nenhum valor retornado, e você pode usá-lo somente em uma fórmula de comportamento.

Sintaxe

AtualizarContexto( AtualizarRegistro )

  • AtualizarRegistro – Obrigatório. Um registro que contém o nome de, pelo menos, uma coluna e um valor para essa coluna. Uma variável de contexto é criada ou atualizada para cada coluna e valor que você especificar.

UpdateContext( { ContextVariable1: Value1 [, ContextVariable2: Value2 [, ... ] ] } )

  • ContextVariable1 – Obrigatório. O nome de uma variável de contexto para criar ou atualizar.
  • Value1 – Obrigatório. O valor a ser atribuído à variável de contexto.
  • ContextVariable2: Value2, ... – Opcional. Variáveis de contexto adicionais para criar ou atualizar e seus valores.

Exemplos

Fórmula Descrição Resultado
UpdateContext( { Counter: 1 } ) Cria ou modifica a variável de contexto Counter, definindo seu valor como 1. Counter tem o valor 1. Você pode referenciar essa variável usando o nome Counter em uma fórmula.
UpdateContext( { Counter: 2 } ) Define o valor da variável de contexto Counter do exemplo anterior para 2. Counter tem o valor 2.
UpdateContext( { Name: "Lily", Score: 10 } ) Cria ou modifica as variáveis de contexto Name e Score, definindo seus valores como Lily e 10, respectivamente. Name tem o valor Lily, e Score tem o valor 10.
UpdateContext( { Person: { Name: "Milton", Address: "1 Main St" } } ) Cria ou modifica a variável de contexto Person, definindo seu valor como um registro. O registro contém duas colunas, chamadas Name e Address. O valor da coluna Name é Miltone o valor da coluna Address é 1 Main St. Person tem o valor do registro { Name: "Milton", Address: "1 Main St" } }.

Fazer referência a esse registro como um todo com o nome Person, ou fazer referência a uma coluna individual desse registro com Person.Name ou Person.Address.
UpdateContext( { Person: Patch( Person, {Address: "2 Main St" } ) } ) Funciona com a função Patch para atualizar a variável de contexto Person, definindo o valor da coluna Address como 2 Main St. Person agora tem o valor de registro { Name: "Milton", Address: "2 Main St" } }.

Exemplo passo a passo

  1. Nomeie a tela padrão como Fonte, adicione outra tela e nomeie-a como Destino.

  2. Na tela Fonte, adicione dois botões e defina suas propriedades de Texto para que uma diga inglês e a outra diga espanhol.

  3. Defina a propriedade OnSelect do botão inglês para esta expressão:
    Navegar(Target, ScreenTransition.Fade, {Language:"English"})

  4. Defina a propriedade OnSelect do botão espanhol para esta expressão:
    Navegar(Target, ScreenTransition.Fade, {Language:"Spanish"})

  5. Na tela Destino, adicione um rótulo e defina sua propriedade de Texto para esta expressão:
    If(Language="English", "Hello!", "Hola!")

  6. Na tela Destino, selecione Formas na aba Inserir e clique na seta Voltar.

  7. Definir a propriedade OnSelect da seta Voltar para esta fórmula:
    Navegar(Source, ScreenTransition.Fade)

  8. Na tela Fonte, pressione F5 e selecione o botão para qualquer idioma.

    Na tela Destino, o rótulo é exibido no idioma que corresponde ao botão que você selecionou.

  9. Selecione a seta Voltar para retornar para a tela Fonte e, em seguida, selecione o botão do outro idioma.

    Na tela Destino, o rótulo é exibido no idioma que corresponde ao botão que você selecionou.

  10. Pressione Esc para retornar ao espaço de trabalho padrão.

Outro exemplo