private void QueueListControl_SizeChanged(object sender, SizeChangedEventArgs e)
        {
            QueueListControl s = sender as QueueListControl;
            var grid           = s.Parent as Grid;

            int ROW = ROW_QUEUES1;

            double[] max = new double[2] {
                0, 0
            };
            foreach (var c in grid.Children.OfType <QueueListControl>().Where(c => c.Name.StartsWith("queue")))
            {
                if (!double.IsNaN(c.Height))
                {
                    int row = Grid.GetRow(c) - ROW;
                    max[row] = Math.Max(max[row], c.Height);
                }
            }

            for (int i = 0; i < max.Length; i++)
            {
                if (max[i] > 0)
                {
                    grid.RowDefinitions[ROW + i].Height = new GridLength(max[i]);
                }
            }
        }
        private void Queue_AddItem_1(object sender, QueueListItemRoutedEventArgs e)
        {
            QueueListControl s = sender as QueueListControl;

            SelectQueueDialog dlg = new SelectQueueDialog(GetDiscoveryService(), cbServers.SelectedValue as string, GetAllQueueNames().Except(s.GetItems().Select(i => i.Name).ToList()).OrderBy(name => name).ToArray());

            dlg.Title = "Select " + s.Title.Remove(s.Title.Length - 1);
            dlg.Owner = this;

            if (dlg.ShowDialog() == true)
            {
                e.Handled = true;


                var color = !s.Name.EndsWith("Errors") ? QueueColorManager.GetRandomAvailableColor() : System.Drawing.Color.FromArgb(QueueColorManager.RED);
                e.Item = new QueueListControl.QueueListItem(dlg.SelectedQueueName, color);
            }
        }
        private void Queue_AddItem(object sender, QueueListItemRoutedEventArgs e)
        {
            QueueListControl s = sender as QueueListControl;
            var srv            = CurrentServer;

            SelectQueueDialog dlg = new SelectQueueDialog(GetDiscoveryService(srv), srv, GetAllQueueNames().Except(s.GetItems().Select(i => i.Name).ToList()).OrderBy(name => name).ToArray());

            dlg.Title = "Select " + s.Title.Remove(s.Title.Length - 1);
            dlg.Owner = this;

            if (dlg.ShowDialog() == true)
            {
                e.Handled = true;

                dlg.SelectedQueueNames.ForEach(queueName => {
                    var color = !s.Name.EndsWith("Errors") ? QueueColorManager.GetRandomAvailableColor() : Color.FromArgb(QueueColorManager.RED);
                    e.Items.Add(new QueueListControl.QueueListItem(queueName, color));
                });
            }
        }