Laden...

Label-Contentabfrage in fremden Thread durchführen

Erstellt von oehrle vor 10 Jahren Letzter Beitrag vor 10 Jahren 1.095 Views
O
oehrle Themenstarter:in
461 Beiträge seit 2009
vor 10 Jahren
Label-Contentabfrage in fremden Thread durchführen

Hi. Ein einer Methode aus einem anderen Thread muss auf mein Label zugreifen und prüfen, ob ein ":" in dem Label drin steht. Wie mache ich den Vergleich?


 //// Also, so gehts nicht.
                    if(lbl_LaufzeitLader.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => lbl_LaufzeitLader.Content.ToString())).ToString() == ":")
                    {
                        
                    }

Na ja, ich kann ja auch zuerst noch mit .CheckAccess() schauen ob ich evtl. im gleichen Thread bin in dem das Label (Control) erstellt wurde. Wenn ich da aber nicht drin bin, dann muss ich die Abfrage auch irgendwie hinbekommen:

if (lbl_LaufzeitLader.Content.ToString() == ":")
{
...
}

Nun, wie kann ich den Inhalt vom Label in einem anderen Thread abfragen?

O
oehrle Themenstarter:in
461 Beiträge seit 2009
vor 10 Jahren
gelöst

Hallo, hatte es selbst noch gebacken bekommen. Hier mal der Code, falls jemand ein ähnliches Problem hat:


/// <summary>
/// Delegate für das Update von Labels erstellen
/// </summary>
/// <param name="lbl"></param>
private delegate void UpdateUIDelegateLabel(Label lbl);


//// Delagaten instanziieren und mit Methode verknüfen
UpdateUIDelegateLabel updateUiDelegate = new UpdateUIDelegateLabel(UpdateButtonUI);
                    
//// Update der Labels 
lbl_LaufzeitLader.Dispatcher.Invoke(DispatcherPriority.Normal, updateUiDelegate, lbl_LaufzeitTasten);


private void UpdateButtonUI(Label lbl)
{
    //// Tu irgend etwas mit dem Label
    lbl.Content = "Hallo";
}