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. >>>> } >>>>>>>