Beispiel #1
0
        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();
        }