I have the following (abbreviated) xaml:
<TextBlock Text="{Binding Path=statusMsg, UpdateSourceTrigger=PropertyChanged}"/>
I have a singleton class:
public class StatusMessage : INotifyPropertyChanged { private static StatusMessage instance = new StatusMessage(); private StatusMessage() { } public static StatusMessage GetInstance() { return instance; } public event PropertyChangedEventHandler PropertyChanged; private void OnPropertyChanged(string status) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(status)); } } private string statusMessage; public string statusMsg { get { return statusMessage; } set { statusMessage = value; OnPropertyChanged("statusMsg"); } } }
And in my main window constructor:
StatusMessage testMessage = StatusMessage.GetInstance(); testMessage.statusMsg = "This is a test msg";
I cannot get the textblock to display the test message. When I monitor the code through debug, the PropertyChanged is always null. Any ideas?
Thanks Jerome! Once I set the DataContext it started working as it should! I added the following to the main window constructor for testing purposes:
this.DataContext = testMessage;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With