Compartilhar via


Renderizar um cartão – WPF do .NET

Veja a seguir como renderizar um cartão usando o SDK do WPF do .NET.

Observação

Media com URLs HTTPS não funcionará no WPF

Devido a um bug no controle MediaElement do WPF, não podemos renderizar a mídia que é fornecida por meio de HTTPS. Você deverá usar URLs HTTP no elemento Media até que isso seja resolvido.

Criar uma instância de um renderizador

Crie uma instância da biblioteca do renderizador.

using AdaptiveCards;
using AdaptiveCards.Rendering;
using AdaptiveCards.Rendering.Wpf;
// ...

// Create a card renderer
AdaptiveCardRenderer renderer = new AdaptiveCardRenderer();

// If using the Xceed package, enable the enhanced input
renderer.UseXceedElementRenderers();

// For fun, check the schema version this renderer supports
AdaptiveSchemaVersion schemaVersion = renderer.SupportedSchemaVersion;

Renderizar um cartão para XAML

// Build a simple card
// In the real world this would probably be provided as JSON
AdaptiveCard card = new AdaptiveCard("1.0")
{
    Body = { new AdaptiveTextBlock() { Text = "Hello World" } }
};

try
{
    // Render the card
    RenderedAdaptiveCard renderedCard = renderer.RenderCard(card);

    // Get the FrameworkElement
    // Add this to your app's UI somewhere
    FrameworkElement fe = renderedCard.FrameworkElement;

    // (Optional) Check for any renderer warnings
    // This includes things like an unknown element type found in the card
    // Or the card exceeded the maximum number of supported actions, etc
    IList<AdaptiveWarning> warnings = renderedCard.Warnings;
}
catch(AdaptiveException ex)
{
    // Failed rendering
}