Поделиться через


Визуализация карточки — .NET WPF

Преобразовать карточку для просмотра можно с помощью пакета SDK .NET для WPF следующим образом.

Примечание

Media с URL-адресами HTTPS не будет работать в WPF

Из-за ошибки в элементе управления WPF MediaElement мультимедийное содержимое, доступное по протоколу HTTPS, не отображается. В элементе Media следует использовать URL-адреса HTTP, пока эта проблема не будет устранена.

Создание экземпляра средства визуализации

На этом шаге необходимо создать экземпляр библиотеки средства визуализации.

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;

Визуализация карточки в формате 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
}