private void NotifyPropertyChanged(String info) >> { >> if (PropertyChanged != null) >> { >> PropertyChanged(this, new PropertyChangedEventArgs(info)); >> //CollectionChanged was null commented it off >> //CollectionChanged(this, new CollectionChangeEventArgs(CollectionChangeAction.Refresh, this.HoleList)); >> } >> }>>
CurrentHolePattern.PropertyChanged += new PropertyChangedEventHandler(CurrentHolePattern_PropertyChanged);
>>public Window1() >> { >> >> HolePatterns = new ObservableCollection<HolePattern>(); >> HolePatterns.CollectionChanged += new NotifyCollectionChangedEventHandler(HolePatterns_CollectionChanged); >> >> CurrentHolePattern = new HolePattern(); >> CurrentHolePattern.PatternName = "Test Pattern Name"; >> >> //-- Set some default values for the UI >> CurrentHolePattern.BoltCirDia = 12.0; >> CurrentHolePattern.HoleCount = 6; >> CurrentHolePattern.StartAngle = 0; >> >> HolePatterns.Add(CurrentHolePattern); >> >> InitializeComponent(); >> CurrentHolePattern.PropertyChanged += new PropertyChangedEventHandler(CurrentHolePattern_PropertyChanged); >> >> SketchX0 = canvas1.Width / 2; >> SketchY0 = canvas1.Height / 2; >> SketchBoltCirRad = canvas1.Width / 2 * .7; >> >> CoordinateGrid.ItemsSource = CurrentHolePattern.HoleList; >> >> RedrawScreen(); >> } >> >> void CurrentHolePattern_PropertyChanged(object sender, PropertyChangedEventArgs e) >> { >> RedrawScreen(); >> //RepaintScreen(); Repaint doesn't add new holes. >> } >>>