Ständig aktualisierte Zeichenfolge mit Textfeld binden

Ich möchte einen String mit einer Textbox binden. Die Zeichenfolge wird in einem Thread ständig aktualisiert:

String inputread;

    public event PropertyChangedEventHandler PropertyChanged;

    public string InputRead
    {
        get { return inputread; }
        set
        {
            if (Equals(inputread, value) == true) return;
            inputread = value;
            this.OnPropertyChanged(nameof(this.inputread));
        }


    }
    void threadFunc()
    {
        try
        {
            while (threadRunning)
            {
                plc.Read();
                InputRead =plc.InputImage[1].ToString();
                MessageBox.Show(InputRead);
            }
        }
        catch (ThreadAbortException)
        {
        }
    }
    protected void OnPropertyChanged(string name)
    {
        PropertyChangedEventHandler handler = PropertyChanged;
        if (handler != null)
        {
            handler(this, new PropertyChangedEventArgs(name));
        }
    }

päter auf der Bindungserklärung:

Binding bind = new Binding("InputRead");
bind.Mode = BindingMode.OneWay;
BindingOperations.SetBinding(newtextbox, TextBox.TextProperty, bind);

Ich verstehe, dass ein Teil des Problems, warum dies nicht funktioniert (das Textfeld ist vollständig leer), darauf zurückzuführen ist, dass ich es nicht jedes Mal aktualisiere, wenn der Thread ausgeführt wird. Wie mache ich es? Außerdem vermute ich, dass die Bindungserklärung fehlerhaft ist. Ich bin mir nicht sicher, wie.

Ich habe den MSDN-Artikel zur Datenbindung gelesen. Er hat mir dabei geholfen, so weit zu kommen.
Ich habe gegoogelt, dass ich so weit gekommen bin, auch mit Hilfe von Stackoverflow früher, immer noch kein Erfolg.

BEARBEITEN Ich habe den Code ein wenig bearbeitet, das Textfeld ist noch leer (nicht einmal 0). Ich benutze wpf! Wenn es einfacher ist, könnte mich jemand anleiten, dispatcher.invoke zu verwenden?

Vielen Dank

Antworten auf die Frage(4)

Ihre Antwort auf die Frage