Поиск не принес мне никаких улик, и я в некотором затруднении.
Пока что WPF самоучка, так что я могу упустить что-то простое.
<Window.DataContext>
<local:MainViewModel/>
</Window.DataContext>
<TextBlock Text={Binding BoundTextProperty}"/>
это упрощенный xml
public class MainViewModel
{
private Model Data;
public MainViewModel()
{...}
public string BoundTextProperty => Data.BoundTextProperty;
...
}
Свойство, которое связано со свойством, содержащим данные в модели
public class Model : INotifyPropertyChanged
{
private long number;
public long Number
{
get { return number; }
set
{
number = value;
OnPropertyChanged(nameof(BoundTextProperty));
}
}
public string BoundTextProperty => $"Some text {Number} some text again";
public virtual event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
Клянусь, в какой-то момент это сработало.
В строке есть пара других переменных, но это основной принцип того, как она работает, а точнее - нет.
Мой вопрос более или менее обязателен, и переплет может всплыть, и если да, то почему?