public async void Update(AdaptiveBlockContent block, AdaptiveBlock sourceBlock, PreviewBlockHostViewModel args) { AdaptiveCardContainer.Child = null; AdaptiveCards.Rendering.Uwp.AdaptiveCard card = null; try { var cardObj = sourceBlock.View.RichContent.FirstOrDefault(i => i.TargetedExperiences.Contains("Microsoft.Outlook.ActionableMessage") && i.ContentType == "application/vnd.microsoft.card.adaptive")?.Content; if (cardObj != null) { string cardJson = cardObj.ToString(); var parsedCard = SharedAdaptiveCardRenderer.Parse(cardJson); if (parsedCard != null) { card = parsedCard; } } } catch { } if (card == null) { try { var transformer = new AdaptiveBlockToCardTransformer() { Properties = new AdaptiveBlockToCardTransformerProperties() }; var sharedCard = (await transformer.TransformAsync(sourceBlock)).Result; card = SharedAdaptiveCardRenderer.ConvertToUwpCard(sharedCard); } catch { } } try { if (card != null) { AdaptiveCardContainer.Child = _cardRenderer.Value.RenderAdaptiveCard(card).FrameworkElement; } } catch { } }
private void RenderCard(Border cardPreviewContainer, AdaptiveCards.Rendering.Uwp.AdaptiveCard uwpCard, AdaptiveCards.Rendering.Uwp.AdaptiveCardRenderer renderer) { cardPreviewContainer.Child = renderer.RenderAdaptiveCard(uwpCard).FrameworkElement; }