private void OnInterfaceListChanged(string newName, string oldName) { //validate the interface list by remove interfaces that are not listed and duplicated entries implementedInterfaces = implementedInterfaces.Where(i => InterfaceList.Contains(i.Name)).Distinct().ToList(); //also check for error string[] s = InterfaceList.Replace(" ", "").Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); showInterfaceError.target = IsInterfacesExist(s, ref interfaceListError) ? 0 : 1; new Thread(() => { try { //search for suggestion based on the last listed interface name if (s.HasElement()) { string suggest = s[s.Length - 1]; interfaceSuggesstion = SearchInterfaces(suggest); forceRepaint = true; } } catch (Exception e) { Debug.Log(e.ToString()); } }).Start(); }
private void RefreshInterfaceListExecute() { IPNetworkInterface prevSelectedAddress = SelectedInterface; InterfaceList.Clear(); GetInterfaces(); if (InterfaceList.Contains(prevSelectedAddress)) { SelectedInterface = prevSelectedAddress; } else if (InterfaceList.Count > 0) { SelectedInterface = InterfaceList[0]; } else { SelectedInterface = null; } RaisePropertyChanged("SelectedInterface"); }