private static void OnIsLinkingValueChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { ConnectorVisual bin = (ConnectorVisual)d; if (bin.IsLinking == false) { bin.Marked = false; return; } if (bin.WindowParent == null || bin.WindowParent.EditorVisual == null || bin.WindowParent.EditorVisual.SelectedConnector == null) { bin.Marked = false; return; } ConnectorVisual selected = bin.WindowParent.EditorVisual.SelectedConnector; ConnectorModel input, output; input = selected.Model.Outgoing == true ? bin.Model : selected.Model; output = selected.Model.Outgoing == false ? bin.Model : selected.Model; if (bin == selected) { bin.CVLevel = new ConversionLevelInformation() { Level = ConversionLevel.NA } } ; else { ConversionLevel lvl = WorkspaceModel.compatibleConnectors(output, input); bin.CVLevel = new ConversionLevelInformation() { Level = lvl }; } if (bin.CVLevel.Level != ConversionLevel.Red && bin.CVLevel.Level != ConversionLevel.NA) { bin.Marked = true; } }