/// <summary> /// Меняем позицию скилла /// </summary> /// <param name="i"> /// Если -1 то меняем на предыдущую позицию /// </param> private void SetPosition(int i) { new Func <AbilitiModel, int>(selectedAbility => { return(AbilitiModels.IndexOf(selectedAbility)); })( SelectedAbilitiModelProperty); if (i > 0) { // Получаем следующий элемент var oldInd = getOldIndex(SelectedAbilitiModelProperty); var newInd = getNewIndex(AbilitiModels, oldInd, false); moveAbility(AbilitiModels, oldInd, newInd); } else { // Получаем следующий элемент var oldInd = getOldIndex(SelectedAbilitiModelProperty); var newInd = getNewIndex(AbilitiModels, oldInd, true); moveAbility(AbilitiModels, oldInd, newInd); } }
/// <summary> /// Получаем старый индекс /// </summary> /// <param name="_abil"> /// The _abil. /// </param> /// <returns> /// старый индекс /// </returns> private int getOldIndex(AbilitiModel _abil) { return(AbilitiModels.IndexOf(_abil)); }