Effectuer le rendu d’une carte – WPF .NETRender a card - .NET WPF

Voici comment effectuer le rendu d’une carte à l’aide du Kit de développement logiciel (SDK) WPF .NET.Here's how to render a card using the .NET WPF SDK.

Notes

Media avec des URL HTTPS ne fonctionne pas en WPFMedia with HTTPS URLs will not work in WPF

Suite à un bogue dans le contrôle WPF MediaElement, nous ne pouvons pas effectuer le rendu d’éléments multimédias servis via HTTPS.Due to a bug in the WPF MediaElement control we aren't able to render media that is served via HTTPS. En attendant ce que ce problème soit résolu, vous devez utiliser des URL HTTP dans l’élément Media.You should use HTTP URLs in the Media element until this is addressed.

Instancier un convertisseurInstantiate a renderer

Créez une instance de la bibliothèque du convertisseur.Create an instance of the renderer library.

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;

Effectuer le rendu d’une carte au format XAMLRender a card to 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
}