Hallo zusammen,
ich brech mir jedesmal die Finger, wenn ich versuche mit WPF klar zu kommen. Ich bin wirklich irgendwie zu Blöd dafür.
Ich schreibe gerade eine Anwendung, die XML Knoten einer bestimmten Ausgabe von Fremdprogrammen prüft und weiterverarbeitet.
Die Anwendung kommt ohne Datenbankfunktionalitäten aus. Ich benötige lediglich drei UserControls, die in das MainForm eingebunden werden sollen und ein paar Buttons.
Bis hierher habe ich noch kein Problem!
Mein Problem ist eine einfache Statusleiste im MainForm, deren Textbox und später auch ProgressBar soll von verschiedenen Funktionen angesprochen und verändert werden.
Da scheitere ich aber kläglich. Ich habe mir jetzt mehrere Tage lang die unterschiedlichsten Beispiele im Internet angesehen und versucht anzuwenden, es ist mir nie gelungen.
Ich habe eine Klasse "SBar" mit INotifyPropertyChanged implementiert und einen LabelText vordefiniert.
In der XAML vom MainForm habe ich mit dem Picker den DataContext "SBar" zugefügt und die Textbox zeigt diesen "Initialwert" auch an.
Nun bringe ich es aber nicht hin, dass die Textbox aktualisiert wird.
Hier meine Klasse SBar:
Spoiler anzeigen
In der MainWindow.xaml.cs habe ich den Aufruf im ersten Schritt erweitert.
Das hier ist nur ein TestProjekt, mit dem ich mein Problem nachgestellt habe.
Ich hänge das Projekt hier mit an.
Es wäre schön, wenn mir jemand auf die Sprünge helfen könnte.
StatusbarText.zip
ich brech mir jedesmal die Finger, wenn ich versuche mit WPF klar zu kommen. Ich bin wirklich irgendwie zu Blöd dafür.
Ich schreibe gerade eine Anwendung, die XML Knoten einer bestimmten Ausgabe von Fremdprogrammen prüft und weiterverarbeitet.
Die Anwendung kommt ohne Datenbankfunktionalitäten aus. Ich benötige lediglich drei UserControls, die in das MainForm eingebunden werden sollen und ein paar Buttons.
Bis hierher habe ich noch kein Problem!
Mein Problem ist eine einfache Statusleiste im MainForm, deren Textbox und später auch ProgressBar soll von verschiedenen Funktionen angesprochen und verändert werden.
Da scheitere ich aber kläglich. Ich habe mir jetzt mehrere Tage lang die unterschiedlichsten Beispiele im Internet angesehen und versucht anzuwenden, es ist mir nie gelungen.
Ich habe eine Klasse "SBar" mit INotifyPropertyChanged implementiert und einen LabelText vordefiniert.
In der XAML vom MainForm habe ich mit dem Picker den DataContext "SBar" zugefügt und die Textbox zeigt diesen "Initialwert" auch an.
Nun bringe ich es aber nicht hin, dass die Textbox aktualisiert wird.
Hier meine Klasse SBar:
C#-Quellcode
- public class SBar : INotifyPropertyChanged
- {
- private string labelText = "Initialwert";
- public string LabelText
- {
- get { return labelText; }
- set
- {
- labelText = value;
- NotifyPropertyChanged("LabelText");
- }
- }
- public event PropertyChangedEventHandler PropertyChanged;
- private void NotifyPropertyChanged([CallerMemberName] string propertyName = "")
- {
- if (PropertyChanged != null)
- {
- PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
- }
- }
- private void ModifyLabelText(string val)
- {
- labelText = val;
- }
- public static SBar CreateLabelText(string val)
- {
- var StatusText = new SBar();
- StatusText.ModifyLabelText(val);
- return new SBar();
- }
- }
In der MainWindow.xaml.cs habe ich den Aufruf im ersten Schritt erweitert.
Das hier ist nur ein TestProjekt, mit dem ich mein Problem nachgestellt habe.
Ich hänge das Projekt hier mit an.
Es wäre schön, wenn mir jemand auf die Sprünge helfen könnte.
StatusbarText.zip