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