Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Anterior: Exibir conteúdo de markdown
Agora que sabemos como apresentar conteúdo básico de markdown, vamos tentar exibir algo mais elaborado aproveitando o poder dos Cartões Adaptáveis. Isso é útil para criar formulários ou para exibir conteúdo mais complexo.
Trabalhando com formulários
A Paleta de Comandos dá suporte a Cartões Adaptáveis, que são uma maneira de criar conteúdo interativo e avançado. Isso pode ser útil para criar formulários ou para exibir conteúdo mais complexo.
Você pode criar um cartão na Paleta de Comandos com a interface IFormContent (consulte FormContent para a implementação do kit de ferramentas). Isso permite que você forneça o JSON do Cartão Adaptável e a Paleta de Comandos o renderizará para você. Quando o usuário envia o formulário, a Paleta de Comandos chamará o método SubmitForm em seu formulário, com o conteúdo JSON e as entradas do formulário.
Cargas de cartão adaptáveis podem ser criadas usando o Designer de Cartão Adaptável. Você pode projetar seu cartão por lá e em seguida copiar a carga JSON para sua extensão.
Para obter um exemplo completo de como usar as páginas Formulários e Conteúdo, vá para SamplePagesExtension/Pages/SampleContentPage.cs. Algumas coisas breves a serem observadas:
- Defina a propriedade TemplateJson do seu formulário como o conteúdo JSON do cartão adaptável. (esse é o valor "CARD PAYLOAD EDITOR" no Adaptive Card Designer)
- Defina a propriedade DataJson do FormContent para os dados que você deseja usar para preencher o modelo de cartão. (Este é o valor "EDITOR DE DADOS DE AMOSTRA" no Designer de Cartão Adaptável). Isso é opcional, mas pode facilitar a criação de cartões.
- Implemente o método SubmitForm para lidar com o envio do formulário. Esse método será chamado quando o usuário enviar o formulário e receberá o payload JSON do formulário.
public override CommandResult SubmitForm(string payload)
{
var formInput = JsonNode.Parse(payload)?.AsObject();
if (formInput == null)
{
return CommandResult.GoHome();
}
// retrieve the value of the input field with the id "name"
var name = formInput["name"]?.AsString();
// do something with the data
// and eventually
return CommandResult.GoBack();
}
Claro, você pode misturar e combinar IContent da maneira que quiser. Por exemplo, você pode usar um markdown de bloco primeiro para o corpo de uma postagem e ter um FormContent ao lado para responder à postagem.
Conteúdo relacionado
Windows developer