예제 #1
0
        public ChatBubblesWindow()
        {
            InitializeComponent();

            // FOLLOWING CODEBLOCK IS ONLY FOR DEMONSTRATION PURPOSES
            messages.Add(new Message()
            {
                Side = MessageSide.You,
                Text = "Hello sir. How may I help you?"
            });

            curside = MessageSide.You;
            // END OF DEMO BLOCK

            this.DataContext = messages;

            scrollViewerScrollToEndAnim = new DoubleAnimation()
            {
                Duration       = TimeSpan.FromSeconds(1),
                EasingFunction = new SineEase()
            };
            Storyboard.SetTarget(scrollViewerScrollToEndAnim, this);
            Storyboard.SetTargetProperty(scrollViewerScrollToEndAnim, new PropertyPath(VerticalOffsetProperty));

            scrollViewerStoryboard = new Storyboard();
            scrollViewerStoryboard.Children.Add(scrollViewerScrollToEndAnim);
            this.Resources.Add("foo", scrollViewerStoryboard);

            MsgTextInput.Focus();
        }
예제 #2
0
        private void AddTextMe(string text)
        {
            messages.Add(new Message()
            {
                Side     = MessageSide.Me,
                Text     = text,
                PrevSide = curside
            });

            curside = MessageSide.Me;

            ScrollConversationToEnd();

            MsgTextInput.Text = "";
            MsgTextInput.Focus();

            // FOLLOWING CODEBLOCK IS ONLY FOR DEMONSTRATION PURPOSES
            // DELETE FOR NORMAL USE!

            AddTextYou(text);

            AddTextYou(text);

            messages.Add(new Message()
            {
                Side     = MessageSide.Me,
                Text     = text,
                PrevSide = curside
            });

            curside = MessageSide.Me;

            ScrollConversationToEnd();

            MsgTextInput.Text = "";
            MsgTextInput.Focus();

            messages.Add(new Message()
            {
                Side     = MessageSide.Me,
                Text     = text,
                PrevSide = curside
            });

            curside = MessageSide.Me;

            ScrollConversationToEnd();

            MsgTextInput.Text = "";
            MsgTextInput.Focus();

            // END OF DEMO BLOCK
        }
예제 #3
0
        private void AddTextYou(string text)
        {
            messages.Add(new Message()
            {
                Side     = MessageSide.You,
                Text     = text,
                PrevSide = curside
            });

            curside = MessageSide.You;

            ScrollConversationToEnd();

            MsgTextInput.Text = "";
            MsgTextInput.Focus();
        }