Esempio n. 1
0
        private void UpdateMessagesEx2(Discord.IMessage[] msgs)
        {
            if (!Dispatcher.CheckAccess())
            {
                Dispatcher.Invoke(() => UpdateMessagesEx2(msgs));
                return;
            }

            MessagesPanel.Children.Clear();

            // https://softwareengineering.stackexchange.com/questions/287369/beginners-c-question-about-array-reverse
            // I used foreach here previously

            for (int i = 0; i < msgs.Length; i++)
            {
                var msg = msgs[i];

                Message.Message a = new Message.Message();
                a.TimeStamp   = msg.Timestamp.DateTime;
                a.RelatedUser = msg.Author;
                a.AppendMessage(msg);

                this.AddMessage(a);
            }

            MessagesScroll.ScrollToEnd(); // fix me
        }
Esempio n. 2
0
        public void AddMessage(Message.Message e)
        {
            var related = GetRelatedMessage(e);

            if (related == null || related.TimeStamp.AddMinutes(3) < e.TimeStamp)
            {
                MessagesPanel.Children.Add(GetSeparator());
                e.Margin = new Thickness(0, 5, 0, 5);
                MessagesPanel.Children.Add(e);
            }
            else
            {
                foreach (var msg in e.MessagesPanel.Children)
                {
                    var m = msg as Message.SingleMessage;
                    related.AppendMessage(m.Message);
                }
            }

            MessagesScroll.ScrollToEnd(); // fix me https://github.com/discord365/Discord365/issues/27
        }
Esempio n. 3
0
 private void scrollToBottom()
 {
     MessagesScroll.UpdateLayout();
     MessagesScroll.ScrollToVerticalOffset(MessagesScroll.ScrollableHeight);
 }
Esempio n. 4
0
 private void scrollToBottom()
 {
     MessagesScroll.UpdateLayout();
     MessagesScroll.ChangeView(1, MessagesScroll.ExtentHeight, 1);
 }