/// <summary> /// Processes and reroutes events when the list box selection changes. /// The three types of events are when selection count is 0, 1 or many. /// </summary> void listMain_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (ignoreSelectionChanges.IsBlocked) { return; } foreach (ListPageItem added in e.AddedItems) { added.Selected = true; } foreach (ListPageItem added in e.RemovedItems) { added.Selected = false; } var count = listMain.SelectedItems.Count; if (count == 0) { SelectedNothing.Invoke(this, directory); } else if (count == 1) { var item = (ListPageItem)listMain.SelectedItem; if (item.Reference is File) { SelectedFile.Invoke(this, directory, (File)item.Reference); } else if (item.Reference is Directory) { SelectedDirectory.Invoke(this, directory, (Directory)item.Reference); } else if (item.Reference is Jump) { SelectedJump.Invoke(this, directory, (Jump)item.Reference); } else if (item.Reference is Link) { SelectedLink.Invoke(this, directory, (Link)item.Reference); } } else { var items = new List <FileSystemItem>(); foreach (ListPageItem item in listMain.SelectedItems) { items.Add(item.Reference); } SelectedMultiple.Invoke(this, directory, items.ToArray()); } }
void LoadEventValues() { value_COMBO.Items.Clear(); if (SelectedLink != null) { if (LinkType == "Type") { int index = ParentPage.DataItemTypes.ToList().FindIndex(x => x == SelectedLink.ToString()); if (index >= 0) { var item = ParentPage.DataItemTypes[index]; if (item != null) { if (ParentPage != null) { var match = ParentPage.EventValues.ToList().Find(x => x.Type == item); if (match != null) { foreach (var value in match.Values) { value_COMBO.Items.Add(value); } } } } } } else { int index = ParentPage.CollectedItems.ToList().FindIndex(x => x.Id == SelectedLink.ToString()); if (index >= 0) { var item = ParentPage.CollectedItems[index]; if (item != null) { if (item.Category == "EVENT") { if (ParentPage != null) { var match = ParentPage.EventValues.ToList().Find(x => x.Type == item.Type); if (match != null) { foreach (var value in match.Values) { value_COMBO.Items.Add(value); } } } } } } } } }
/// <summary> /// Deletes the link. /// </summary> public void deleteLink() { this.CloudSetupProcess.ProcessMonitor.DeleteLink(SelectedLink.GetModel()); Links.Remove(SelectedLink); SelectedLink = null; }