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