Пример #1
0
        /// <summary>
        /// Invoked whenever the dependency graph between <see cref="MyStudent"/>
        /// property and the <see cref="Address.City"/> of the student's
        /// school is being changed.
        /// </summary>
        private void OnStudentCityChanged(object sender, DependencyChangeEventArgs <string> e)
        {
            //get the changed node
            DependencyNode <string> changedNode = e.ChangedNode;

            //get student name, if we have one after all
            string studentName = myStudent == null ? "[none]" : myStudent.Name;

            //get the school name
            string school = "[none]";

            if (myStudent != null && myStudent.School != null)
            {
                school = myStudent.School.SchoolName;
            }

            //get the city, if the dependency graph leads to a valid address
            string city = changedNode.IsChainBroken ? "[unavailable]" : changedNode.LeafValue;

            //NOTE: You can also get the leaf value through this convenience method:
            //string city = e.TryGetLeafValue("[unavailable]");

            //write student/city to console
            string msg = "Student {0} goes now to school {1} in {2}. Change reason: {3}, Changed property: {4}";

            Console.Out.WriteLine(msg, studentName, school, city, e.Reason, e.ChangedMemberName);
        }
        private void OnDependencyChanged(object sender, DependencyChangeEventArgs <ObservableCollection <Student> > e)
        {
            Console.Out.WriteLine("e.Reason = {0}", e.Reason);
            Console.Out.WriteLine("e.ChangedMemberName = {0}", e.ChangedMemberName);

            eventCounter++;
            lastEventArgs = e;
        }
Пример #3
0
        public void BaseInit()
        {
            LastEventArgs    = null;
            ChangeEventCount = 0;
            Student          = TestUtil.CreateTestStudent();

            //include the address field rather than the property!
            CreateDependency();
            Dependency.DependencyChanged += OnDependencyChanged;
            Init();

            //reset finalization counters
            TestUtil.ResetFinalizationCounters();
        }
        public void Init()
        {
            eventCounter  = 0;
            lastEventArgs = null;

            course = new Course();
            for (int i = 0; i < 10; i++)
            {
                var student = TestUtil.CreateTestStudent();
                student.Name = "Student " + i;
                course.Students.Add(student);
            }

            dependency = DependencyNode.Create(() => course.Students);
            dependency.DependencyChanged += OnDependencyChanged;
        }
        public void Init()
        {
            eventCounter = 0;
              lastEventArgs = null;

              course = new Course();
              for (int i = 0; i < 10; i++)
              {
            var student = TestUtil.CreateTestStudent();
            student.Name = "Student " + i;
            course.Students.Add(student);
              }

              dependency = DependencyNode.Create(() => course.Students);
              dependency.DependencyChanged += OnDependencyChanged;
        }
 private void OnCourseChanged(object sender, DependencyChangeEventArgs<bool?> e)
 {
     changeCounter++;
 }
Пример #7
0
        /// <summary>
        /// Invoked whenever the dependency graph between <see cref="MyStudent"/>
        /// property and the <see cref="Address.City"/> of the student's
        /// school is being changed.
        /// </summary>
        private void OnStudentCityChanged(object sender, DependencyChangeEventArgs<string> e)
        {
            //get the changed node
              DependencyNode<string> changedNode = e.ChangedNode;

              //get student name, if we have one after all
              string studentName = myStudent == null ? "[none]" : myStudent.Name;

              //get the school name
              string school = "[none]";
              if (myStudent != null && myStudent.School != null)
              {
            school = myStudent.School.SchoolName;
              }

              //get the city, if the dependency graph leads to a valid address
              string city = changedNode.IsChainBroken ? "[unavailable]" : changedNode.LeafValue;

              //NOTE: You can also get the leaf value through this convenience method:
              //string city = e.TryGetLeafValue("[unavailable]");

              //write student/city to console
              string msg = "Student {0} goes now to school {1} in {2}. Change reason: {3}, Changed property: {4}";
              Console.Out.WriteLine(msg, studentName, school, city, e.Reason, e.ChangedMemberName);
        }
Пример #8
0
 /// <summary>
 /// Change event handler for the <see cref="DependencyNode{T}.DependencyChanged"/>
 /// event of the test's <see cref="Dependency"/> property.
 /// </summary>
 protected virtual void OnDependencyChanged(object sender, DependencyChangeEventArgs <string> e)
 {
     ChangeEventCount++;
     LastEventArgs = e;
 }
Пример #9
0
 /// <summary>
 /// Change event handler for the <see cref="DependencyNode{T}.DependencyChanged"/>
 /// event of the test's <see cref="Dependency"/> property.
 /// </summary>
 protected virtual void OnDependencyChanged(object sender, DependencyChangeEventArgs<string> e)
 {
     ChangeEventCount++;
       LastEventArgs = e;
 }
        private void OnDependencyChanged(object sender, DependencyChangeEventArgs<ObservableCollection<Student>> e)
        {
            Console.Out.WriteLine("e.Reason = {0}", e.Reason);
              Console.Out.WriteLine("e.ChangedMemberName = {0}", e.ChangedMemberName);

              eventCounter++;
              lastEventArgs = e;
        }
Пример #11
0
 private void OnParentDependencyChanged(object sender, DependencyChangeEventArgs <string> e)
 {
     Console.Out.WriteLine("{0}: Changed parent dependency with value {1}", name, e.TryGetLeafValue());
 }
Пример #12
0
 private void OnParentDependencyChanged(object sender, DependencyChangeEventArgs<string> e)
 {
     Console.Out.WriteLine("{0}: Changed parent dependency with value {1}", name, e.TryGetLeafValue());
 }
 private void OnCourseChanged(object sender, DependencyChangeEventArgs <bool?> e)
 {
     changeCounter++;
 }