public override void Attach(BaseChatDataItem data, object context) { base.Attach(data, context); CardMessageDataItem data1 = this.Data as CardMessageDataItem; BaseChatCardElement cardElement = data1.ChatMessagesViewElement.ChatElement.ChatFactory.CreateCardElement(data1.CardMessage.CardDataItem); cardElement.CardActionClicked += new CardActionEventHandler(this.CardActionClicked); this.MainMessageElement.Children.Add((RadElement)cardElement); }
public override void Synchronize() { CarouselMessageDataItem data = this.Data as CarouselMessageDataItem; HorizontalScrollableStackElement mainMessageElement = this.MainMessageElement as HorizontalScrollableStackElement; foreach (BaseChatCardElement child in mainMessageElement.ItemsLayout.Children) { child.CardActionClicked -= new CardActionEventHandler(this.CardActionClicked); } mainMessageElement.ItemsLayout.Children.Clear(); foreach (BaseChatCardDataItem card in data.CarouselMessage.Cards) { BaseChatCardElement cardElement = data.ChatMessagesViewElement.ChatElement.ChatFactory.CreateCardElement(card); cardElement.Margin = new Padding(5, 0, 5, 0); cardElement.CardActionClicked += new CardActionEventHandler(this.CardActionClicked); mainMessageElement.ItemsLayout.Children.Add((RadElement)cardElement); } mainMessageElement.ScrollBar.Value = data.ScrollOffset; base.Synchronize(); }