Обновление OnPropertyChanged второго уровня

SireChicken спросил: 11 июня 2018 в 11:00 в: c#

Поиск не дал мне никаких подсказок, и я как бы теряю. 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));
    }
}

Клянусь, это сработало на некоторых point.The строка имеет пару других переменных, но это основная из того, как она работает или, скорее, не делает.

Мой вопрос мошен, или нет, Binding действительно может пузыриться, и если это возможно, то почему не так ли?

0 ответов