private void StartServerClick(object sender, RoutedEventArgs e) { int port; var success = Int32.TryParse(Port.Text, out port); if (success) { IsRunning = true; ControlButtons(); MyServer = new Server.Server(RootDirectory.Text); ServerThread = new Thread(MyServer.Start); ServerThread.Start(port); new Thread(() => { while (IsRunning) { Dispatcher.Invoke(() => ServiceRateLabel.Content = MyServer.GetServiceRate()); Thread.Sleep(500); } }).Start(); } }