private void ServerIpCheckBox_IsCheckedChanged(object sender, RoutedEventArgs e)
 {
     if (ServersListBox.SelectedItem != null)
     {
         ServersListBox.ScrollIntoView(ServersListBox.SelectedItem);
     }
 }
 public void SetServerListSelectedIndex(int index)
 {
     if (index < ServersListBox.Items.Count)
     {
         ServersListBox.SelectedIndex = index;
         ServersListBox.ScrollIntoView(ServersListBox.Items[index]);
     }
 }
        private void DownButton_Click(object sender, RoutedEventArgs e)
        {
            var sortedCopy = new SortedDictionary <int, object>();

            foreach (ServerObject selectedItem in ServersListBox.SelectedItems.Cast <object>().ToArray())
            {
                sortedCopy.Add(ServerViewModel.ServerCollection.IndexOf(selectedItem), selectedItem);
            }

            var reverseSortedCopy = sortedCopy.Reverse().ToArray();

            foreach (var selectedItem in reverseSortedCopy)
            {
                var position = selectedItem.Key;
                if (position + 1 < ServerViewModel.ServerCollection.Count)
                {
                    ServerViewModel.ServerCollection.Move(position, position + 1);
                    if (position == _modifiedConfiguration.index - 1)
                    {
                        --_modifiedConfiguration.index;
                    }
                    else if (position == _modifiedConfiguration.index)
                    {
                        ++_modifiedConfiguration.index;
                    }
                }
                else
                {
                    break;
                }
            }

            foreach (var selectedItem in reverseSortedCopy)
            {
                ServersListBox.SelectedItems.Add(selectedItem.Value);
            }

            if (ServersListBox.SelectedItem != null)
            {
                ServersListBox.ScrollIntoView(ServersListBox.SelectedItem);
            }
        }
 public void SetServerListSelectedIndex(int index)
 {
     if (index < 0)
     {
         return;
     }
     if (index < ServersListBox.Items.Count)
     {
         ServersListBox.SelectedIndex = index;
         ServersListBox.ScrollIntoView(ServersListBox.Items[index]);
     }
     else
     {
         ServersListBox.SelectedIndex = ServersListBox.Items.Count - 1;
         if (ServersListBox.SelectedIndex > 0)
         {
             ServersListBox.ScrollIntoView(ServersListBox.Items[ServersListBox.Items.Count - 1]);
         }
     }
 }