public void SetHeader(UIElement header, string name, ref ObservableCollection <object> tabControlItems, bool channel = false) { tabControlName = name; isChannel = channel; var dockPanel = new DockPanel(); dockPanel.Children.Add(header); tb = tabControlItems; var closeButton = new TabCloseButton(); closeButton.Click += (sender, e) => { if (tabControlName != "main") { tb.Remove(this); if (isChannel) { clientSendToServer.SendToServer(Command.leaveChannel, tabControlName); } } else { MessageBox.Show("can't close main tab!", "Chat: " + App.Client.strName, MessageBoxButton.OK, MessageBoxImage.Error); } }; dockPanel.Children.Add(closeButton); Header = dockPanel; }
public void SetHeader(UIElement header, string name, ref ObservableCollection <object> tabControlItems, bool channel = false) { tabControlName = name; isChannel = channel; // Container for header controls var dockPanel = new DockPanel(); dockPanel.Children.Add(header); tb = tabControlItems; if (isChannel) { getMessageFromServer.ClientKickFromChannel += OnClientKickFromChannel; getMessageFromServer.ClientDeleteChannel += OnClientDeleteChannel; getMessageFromServer.ClientBanFromChannel += OnClientBanFromChannel; getMessageFromServer.ClientChannelLeave += OnClientChannelLeave; } // Close button to remove the tab var closeButton = new TabCloseButton(); closeButton.Click += (sender, e) => { if (tabControlName != "Main") { tb.Remove(this); if (isChannel) { clientSendToServer.SendToServer(Command.leaveChannel, tabControlName); } } else { MessageBox.Show("Cannot close Main Tab!", "Gold Chat: " + App.Client.strName, MessageBoxButton.OK, MessageBoxImage.Error); } }; dockPanel.Children.Add(closeButton); // Set the header Header = dockPanel; }