protected override LightVisualElement CreateMainMessageElement() { HorizontalScrollableStackElement scrollableStackElement = new HorizontalScrollableStackElement(); scrollableStackElement.Margin = new Padding(-60, 0, 60, 0); scrollableStackElement.Padding = new Padding(60, 0, 0, 0); scrollableStackElement.ScrollBar.ValueChanged += new EventHandler(this.ScrollBar_ValueChanged); return((LightVisualElement)scrollableStackElement); }
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(); }