public void FixActiveModsScrollbar()
        {
            ScrollViewer myViewer = ActiveModsListView.FindVisualChildren <ScrollViewer>().FirstOrDefault();

            if (myViewer != null)
            {
                myViewer.ScrollToHorizontalOffset(0d);
            }
        }
        private void MoveSelectedMods()
        {
            List <DivinityModData> selectedMods = new List <DivinityModData>();
            int             nextIndex           = -1;
            DivinityModData targetMod           = null;

            //DivinityApp.Log($"ListHasFocus(ActiveModsListView) = {ListHasFocus(ActiveModsListView)} | ListHasFocus(InactiveModsListView) = {ListHasFocus(InactiveModsListView)}");
            if (ListHasFocus(ActiveModsListView))
            {
                //var selectedMods = ViewModel.ActiveMods.Where(x => x.IsSelected).ToList();
                //for (int i = 0; i < selectedMods.Count; i++)
                //{
                //	ViewModel.ActiveMods.Remove(selectedMods[i]);
                //	ViewModel.InactiveMods.Add(selectedMods[i]);
                //}

                foreach (var m in ViewModel.ActiveMods.Where(x => x.IsSelected))
                {
                    nextIndex = Math.Min(m.Index + 1, ViewModel.ActiveMods.Count - 1);
                    selectedMods.Add(m);
                }
                if (nextIndex > -1)
                {
                    targetMod = ViewModel.ActiveMods.ElementAtOrDefault(nextIndex);
                    DivinityApp.Log($"nextIndex({nextIndex}) targetMod({targetMod})");
                }

                var dropInfo = new ManualDropInfo(selectedMods, InactiveModsListView.SelectedIndex, InactiveModsListView, ViewModel.InactiveMods, ViewModel.ActiveMods);
                InactiveModsListView.UnselectAll();
                ViewModel.DropHandler.Drop(dropInfo);
                string countSuffix = selectedMods.Count > 1 ? "mods" : "mod";
                string text        = $"Moved {selectedMods.Count} {countSuffix} to the inactive mods list.";
                ScreenReaderHelper.Speak(text);
                ViewModel.ShowAlert(text, AlertType.Info, 10);
                canMoveSelectedMods = false;

                if (ViewModel.Settings.ShiftListFocusOnSwap)
                {
                    InactiveModsListView.Focus();
                }
                else
                {
                    ActiveModsListView.Focus();
                }

                if (targetMod != null && targetMod.IsActive)
                {
                    ActiveModsListView.UnselectAll();
                    ActiveModsListView.SelectedItem = targetMod;
                    targetMod.IsSelected            = true;
                }
            }
            else if (ListHasFocus(InactiveModsListView))
            {
                //var selectedMods = ViewModel.InactiveMods.Where(x => x.IsSelected).ToList();
                //for (int i = 0; i < selectedMods.Count; i++)
                //{
                //	ViewModel.InactiveMods.Remove(selectedMods[i]);
                //	ViewModel.ActiveMods.Add(selectedMods[i]);
                //}
                foreach (var m in ViewModel.InactiveMods.Where(x => x.IsSelected))
                {
                    nextIndex = Math.Min(ViewModel.InactiveMods.IndexOf(m) + 1, ViewModel.InactiveMods.Count - 1);
                    selectedMods.Add(m);
                }
                if (nextIndex > -1)
                {
                    targetMod = ViewModel.InactiveMods.FirstOrDefault(x => ViewModel.InactiveMods.IndexOf(x) == nextIndex && !x.IsClassicMod);
                }

                var dropInfo = new ManualDropInfo(selectedMods, ActiveModsListView.SelectedIndex, ActiveModsListView, ViewModel.ActiveMods, ViewModel.InactiveMods);
                ActiveModsListView.UnselectAll();
                ViewModel.DropHandler.Drop(dropInfo);

                string countSuffix = selectedMods.Count > 1 ? "mods" : "mod";
                string text        = $"Moved {selectedMods.Count} {countSuffix} to the active mods list.";
                ScreenReaderHelper.Speak(text);
                ViewModel.ShowAlert(text, AlertType.Info, 10);
                canMoveSelectedMods = false;

                if (ViewModel.Settings.ShiftListFocusOnSwap)
                {
                    ActiveModsListView.Focus();
                }
                else
                {
                    InactiveModsListView.Focus();
                }

                if (targetMod != null && !targetMod.IsActive)
                {
                    InactiveModsListView.UnselectAll();
                    InactiveModsListView.SelectedItem = targetMod;
                    targetMod.IsSelected = true;
                }
            }
        }