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