Я искал здесь несколько раз и нашел кучу примеров, но, похоже, не может заставить ничего работать.Связывание данных с одноточечным классом
У меня есть решение, в котором ViewModel ссылается на класс MainViewModel через локатор. Основной класс модели основного вида:
public NotifyLog Log
{
get { return LogMgr.Instance.Log; }
}
В нем. Это позволяет мне указать:
<TextBox IsEnabled="True" Text="{Binding Log.Text, Mode=OneWay}" />
В NotifyLog определяется как:
public class NotifyLog : INotifyPropertyChanged
{
public NotifyLog()
{
_Log = new StringBuilder();
}
private void OnPropertyChanged(string property)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(property));
}
public event PropertyChangedEventHandler PropertyChanged;
private StringBuilder _Log;
public void Append(String Value)
{
_Log.Append(Value);
OnPropertyChanged("Text");
}
public string Text
{
get { return _Log.ToString(); }
}
public override string ToString()
{
return this.Text;
}
}
Для первоначального запуска приложения, текстовое поле заполняется, но, то OnPropertyChanged обработчик никогда автоматически заселенных поэтому никаких изменений не обнаружено. Я делаю что-то неправильно, я просто не знаю, что ...
Спасибо за ваше время, BLD