private void RepositioningPreference(int step, int max, ObservableCollection <NamePart> namePartList) { //if (CurrentSelectedFavoriteItems.Count == 0 || CurrentSelectedFavoriteItems.Count > 1) // return; if (FavoriteSelectedIndex == -1) { return; } var current = CurrentSelectedFavoriteItems.First(); if ((step > 0) && (current == null || current.Position >= max)) { return; } if ((step < 0) && (current == null || current.Position < max)) { return; } var currentPos = current.Position; var nextPos = currentPos + step; var prevNamePart = namePartList.FirstOrDefault(l => l.Position == nextPos); if (prevNamePart == null) { return; } prevNamePart.Position = currentPos; current.Position = nextPos; InitNamePartList(namePartList, namePartList.OrderBy(l => l.Position).ToList()); FavoriteSelectedIndex = nextPos - 1; }
public void GridSelectionChanged(DataGrid sender, BehaviourType type) { if (sender.SelectedItems == null) { return; } List <NamePart> list; switch (type) { case BehaviourType.Favorite: if (FavoriteSelectedIndex == -1) { return; } list = CurrentSelectedFavoriteItems; break; case BehaviourType.DontCare: if (DontCareSelectedIndex == -1) { return; } list = CurrentSelectedDontCareItems; break; case BehaviourType.MustHave: if (MustHavesSelectedIndex == -1) { return; } list = CurrentSelectedMustHaveItems; break; case BehaviourType.NeverUse: if (NeverUseSelectedIndex == -1) { return; } list = CurrentSelectedNeverUseItems; break; default: return; } if (type != BehaviourType.DontCare) { CurrentSelectedDontCareItems.Clear(); DontCareSelectedIndex = -1; } if (type != BehaviourType.Favorite) { CurrentSelectedFavoriteItems.Clear(); FavoriteSelectedIndex = -1; } if (type != BehaviourType.MustHave) { CurrentSelectedMustHaveItems.Clear(); MustHavesSelectedIndex = -1; } if (type != BehaviourType.NeverUse) { CurrentSelectedNeverUseItems.Clear(); NeverUseSelectedIndex = -1; } //var list = (sender.Name == "PreferencesExcludedGrid") ? CurrentSelectedDontCareItems : CurrentSelectedFavoriteItems; list.Clear(); foreach (var senderSelectedItem in sender.SelectedItems) { if (sender.SelectedItem is NamePart) { list.Add((NamePart)senderSelectedItem); } } }