/// <summary> /// when requested it fills the comboboxes with items from the graph /// </summary> /// <param name="sender"></param> /// <param name="args"></param> protected void OnFillItemsNeeded(object sender, FillItemsNeededEventArgs args) { ComboBox comboBox = sender as ComboBox; if (comboBox != null && args != null) { object selectedItem = comboBox.SelectedItem; switch (args.Statement) { case Statement.Select: FillItemsWithNextNodesLabels(comboBox); break; case Statement.Load: comboBox.Items.Clear(); FillItemsWithIncomingOutputsFromPreviousNodes(comboBox); break; } if (comboBox.Items.Contains(selectedItem)) { comboBox.SelectedItem = selectedItem; } } }
/// <summary> /// If any of child comboboxes is opened fire the FillItemsNeeded /// </summary> /// <param name="sender"></param> /// <param name="args"></param> private void OnComboBoxStatementDropDownOpened(object sender, FillItemsNeededEventArgs args) { IsComboOpen = true; if (FillItemsNeeded != null) { FillItemsNeeded(sender, args); } }
void OnComboBoxStatementDropDownClosed(object sender, FillItemsNeededEventArgs e) { IsComboOpen = false; UpdateDocumentBinding(); }