public MainWindow() { DataContext = this; VPNConnected = false; Task.Factory.StartNew(() => { while (true) { List <string> ipaddresses = GetAllIPAdresses(); this.Dispatcher.Invoke(() => { CurrentIPAddresses.Clear(); foreach (string s in ipaddresses) { CurrentIPAddresses.Add(s); } }); CheckVPNIPInAddresses(); Thread.Sleep(_selectedRefreshRate * 1000); } }); LoadPrograms(); InitializeComponent(); VPNStatus = "Disconnected"; }
private void CheckVPNIPInAddresses() { if (VPNIPAddress.Contains('.') && CurrentIPAddresses.Any(ip => ip.StartsWith(VPNIPAddress))) { VPNConnected = true; } else { VPNConnected = false; } }