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. > } >Dang. Just read this. I pulled in Matt's code last night and had made *exactly* the same changes that you pointed out. But then it would not run - I got a XMLParseException: