private void setDisconnected() { /*isConnecting = false; * wantsConnect = false; * * bluePowerCenter.Visibility = Visibility.Hidden; * * blueCircle.Visibility = Visibility.Hidden; * grayCircle.Visibility = Visibility.Visible; * * connectionLabel.Content = "DISCONNECTED";*/ isConnecting = false; wantsConnect = false; OnPropertyChanged("wantsConnect"); new System.Threading.Thread(() => { System.Threading.Thread.CurrentThread.IsBackground = true; /* run your code here */ vpnControl.disconnectFromVPN(); vpnControl.UnsetDNS(); }).Start(); blueCircle.Visibility = Visibility.Hidden; grayCircle.Visibility = Visibility.Visible; bluePowerCenter.Visibility = Visibility.Hidden; connectionLabel.Content = "DISCONNECTED"; }