Render a card - .NET WPF
Here's how to render a card using the .NET WPF SDK.
Note
Media
with HTTPS URLs will not work in WPF
Due to a bug in the WPF MediaElement control we aren't able to render media that is served via HTTPS. You should use HTTP URLs in the Media
element until this is addressed.
Instantiate a renderer
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;
Render 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
}