Пример #1
0
        private static void CreateContextMenu(ChatControl chatControl, ItemsControl contextMenu)
        {
            var miClear = new MenuItem {
                Header = "Clear", DataContext = chatControl
            };

            miClear.Click += OnClearClick;
            contextMenu.Items.Add(miClear);

            var miUseBlocking = new MenuItem {
                Header = "Use blocking", DataContext = chatControl, IsCheckable = true, IsChecked = chatControl.Settings.UseBlocking
            };

            miUseBlocking.Click += OnUseBlockingClick;
            contextMenu.Items.Add(miUseBlocking);

            var miRuOnly = new MenuItem {
                Header = "Russian only", DataContext = chatControl, IsCheckable = true, IsChecked = chatControl.Settings.RussianOnly
            };

            miRuOnly.Click += OnRuOnlyClick;
            contextMenu.Items.Add(miRuOnly);
        }
Пример #2
0
        private void OnChatMessage(ChatMessage message)
        {
            this.Do(() =>
            {
                foreach (TabItem tabItem in _tabControl.Items)
                {
                    if (tabItem.Header == message.Channel)
                    {
                        return;
                    }
                }

                var chatSettings = new ChannelSettings
                {
                    Channel     = message.Channel,
                    UseBlocking = true,
                    RussianOnly = true
                };
                _chatsSettings.Add(chatSettings);
                var chatControl = new ChatControl(_eventsSource, _chatsSettings)
                {
                    Channels = new[] { message.Channel }
                };
                var newItem = new TabItem
                {
                    Header      = message.Channel,
                    Content     = chatControl,
                    ContextMenu = new ContextMenu()
                };

                CreateContextMenu(chatControl, newItem.ContextMenu);

                _tabControl.Items.Add(newItem);
                chatControl.OnChatMessage(message);
            });
        }