Witam, pytanie dotyczy aktualizacji (wprawdzania w tle) kontrolki Label i ellipse. mam Web Service WCF z którym komunikuje sie aplikacja kliencka WPF (dodane referencje) i teraz chciałbym aby aplikacja kliencka miała wbudowany mechanizm który co np 10000 ms sprawdza odpowiedź z WCFa (czy true czy false) logika tego co ma sprawdzać jest bez znaczenia w tym momencie, problem polega na tym że nie wiem jak stworzyć wątek działający w tle który cyklicznie wywołuje metodę zmieniającą wygląd kontrolki label i ellipse (oczywiście bez wpływu na okno aplikacji czyli bez efektu zamrażania), mój kod to:
private void ChangeColorClircleAndLabel()
{
SolidColorBrush colorOnline = new SolidColorBrush(Colors.Green);
SolidColorBrush colorOffline = new SolidColorBrush(Colors.Red);
if (webService.IsServiceAlive() == true)
{
conStatus_circle.Fill = colorOnline;
conStatus_circle.Stroke = colorOnline;
conStatus_label.Foreground = colorOnline;
conStatus_label.Content = "Online";
}
else
{
conStatus_circle.Fill = colorOffline;
conStatus_circle.Stroke = colorOffline;
conStatus_label.Foreground = colorOffline;
conStatus_label.Content = "Offline";
}
}
Tak więc sama logika "sprawdzania" co odpowie WCF jest, także to jest przetestowane i działa, niemniej przy zastosowaniu np nieskończonej pętli + Thread.Sleep(10000) zamraża mi okno :(