private void _updateRequirements(PetEvolutionView evolution) { List <PetEvolutionTargetView> result = new List <PetEvolutionTargetView>(); Table <int, ReadableTuple <int> > btable = _tab.ProjectDatabase.GetMetaTable <int>(ServerDbs.Items); Table <int, ReadableTuple <int> > ctable = _tab.ProjectDatabase.GetTable <int>(ServerDbs.CItems); try { result.AddRange(evolution.EvolutionTarget.ItemRequirements.Select(t => new PetEvolutionTargetView(t, btable, ctable))); } catch { } _lvRequirements.ItemsSource = new RangeObservableCollection <PetEvolutionTargetView>(result.OrderBy(p => p, Extensions.BindDefaultSearch <PetEvolutionTargetView>(_lvRequirements, "ID", true))); }
private void _lv_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (_lv.SelectedItem == null) { _lvRequirements.ItemsSource = null; return; } try { _lastSelectedIndex1 = _lv.SelectedIndex; _lastSelectedIndex2 = -1; PetEvolutionView evolution = (PetEvolutionView)_lv.SelectedItem; _updateRequirements(evolution); } catch (Exception err) { ErrorHandler.HandleException(err); } }