protected override void SelectionChanged(IList <int> selectedIds) { List <Engine.VPT.Material> selectedMats = new List <Engine.VPT.Material>(); var rows = GetRows(); foreach (var row in rows) { if (selectedIds.Contains(row.id)) { selectedMats.Add((row as RowData).Material); } } MaterialSelected?.Invoke(selectedMats); }
internal void RefreshModel(TEntityAction entityAction) { entityAction.ThrowNull(); MaterialItemsSource.Clear(); MaterialSelectionSelectedIndex = -1; // for gadget Material var gadgets = new Collection <TActionComponent> (); TActionConverter.Collection(TCategory.Material, gadgets, entityAction); foreach (var component in gadgets) { var gadgetMaterial = component.Models.GadgetMaterialModel; if (gadgetMaterial.Enabled) { MaterialItemsSource.Add(gadgetMaterial); foreach (var gadgetTarget in Targets) { // Node reverse here if (gadgetTarget.MaterialId.Equals(gadgetMaterial.Id)) { gadgetTarget.Material = gadgetMaterial.GadgetName; } } } } if (MaterialItemsSource.Any()) { MaterialSelected.CopyFrom(MaterialItemsSource [0]); MaterialSelectionSelectedIndex = 0; } }