Esempio n. 1
0
        protected void HeadlinesOpen()
        {
            try
            {
                HeadlinesWindow headlinesWindow = new HeadlinesWindow();
                HeadlinesChat headlinesChat = new HeadlinesChat();

                foreach (HeadlineMessage message in Database.GetHeadlines(Settings.Default.UI_MaxHistoryMessages))
                {
                    headlinesChat.Messages.Add(message);
                }

                headlinesWindow.DataContext = headlinesChat;
                headlinesWindow.Show();
                headlinesWindow.Activate();
            }

            catch (WindowExistsException e)
            {
                e.ActivateControl();
            }

            Notification.DismissNotificationType(typeof(EventHeadlineMessage));
        }
        private void Conversation_Unloaded(object sender, RoutedEventArgs e)
        {
            Notification.NegotiateAddNotification -= Notification_NegotiateAddNotification;

            Loaded -= Headlines_Loaded;
            _inlineSearch.Loaded -= _inlineSearch_Loaded;

            PreviewKeyDown += Conversation_PreviewKeyDown;

            _flowViewer.PreviewKeyDown -= _flowViewer_PreviewKeyDown;

            _headlinesChat.Messages.CollectionChanged -= Messages_CollectionChanged;

            _headlinesChat = null;

            _inlineMethod.Finished -= _inlineMethod_Finished;
            _inlineSearch.TextChanged -= _inlineSearch_TextChanged;
            _inlineSearch.Closed -= _inlineSearch_Closed;

            Notification.NegotiateAddNotification -= Notification_NegotiateAddNotification;

            Unloaded -= Conversation_Unloaded;
        }
        private void Headlines_Loaded(object sender, RoutedEventArgs e)
        {
            _headlinesChat = (HeadlinesChat)DataContext;

            PreviewKeyDown += Conversation_PreviewKeyDown;

            _flowViewer.PreviewKeyDown += _flowViewer_PreviewKeyDown;

            _headlinesChat.Messages.CollectionChanged += Messages_CollectionChanged;

            _inlineMethod.Finished += _inlineMethod_Finished;
            _inlineSearch.TextChanged += _inlineSearch_TextChanged;
            _inlineSearch.Closed += _inlineSearch_Closed;

            Notification.NegotiateAddNotification += Notification_NegotiateAddNotification;

            Unloaded += Conversation_Unloaded;

            ScrollToBottom(true);
        }