Привязка TextBlock к сложным свойствам - PullRequest
1 голос
/ 25 октября 2010

ys, мне нужна помощь, чтобы понять, почему поле не обновляется: у меня есть два примера класса, оба производные от Observable, которые просто реализуют INotifyPropertyChanged.

public class ClassA : Observable
    {
        string p1;
        public string Property1
        {
            get { return p1; }
            set
            {
                p1 = value;
                RaisePropertyChangedEvent("Property1");
            }
        }

        ClassB p2;
        public ClassB Property2
        {
            get { return p2; }
            set
            {
                if (p2 != null)
                    p2.PropertyChanged -= OnProperty2Changed;

                p2 = value;

                if (p2 != null)
                    p2.PropertyChanged += OnProperty2Changed;
            }
        }

        string p2r;
        public string Propert2Representation 
        {
            get { return p2r; }
            set
            {
                p2r = value;
                RaisePropertyChangedEvent("Propert2Representation");
            }
        }

        void OnProperty2Changed(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            this.RaisePropertyChangedEvent("Property2");
            this.Propert2Representation = Property2.ToString();
        }

        public override string ToString()
        {
            return "Class A";
        }
    }

    public class ClassB : Observable
    {
        public int Property1 { get; set; }
        public override string ToString()
        {
            return "Class B";
        }
    }

Когда я изменяю свойство в ClassB, TextBlockпривязка к Property2 не обновляется.Однако TextBlock, связанный с Property2Representation, обновляется.Что я делаю не так?

TIA.

1 Ответ

0 голосов
/ 25 октября 2010

ClassB не вызывает уведомление об изменении свойства!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...