/// <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; }
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; }
private void OnCourseChanged(object sender, DependencyChangeEventArgs<bool?> e) { changeCounter++; }
/// <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); }
/// <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; }
/// <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; }
private void OnParentDependencyChanged(object sender, DependencyChangeEventArgs <string> e) { Console.Out.WriteLine("{0}: Changed parent dependency with value {1}", name, e.TryGetLeafValue()); }
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++; }