> > 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(); > > SketchX0 = canvas1.Width / 2; > SketchY0 = canvas1.Height / 2; > SketchBoltCirRad = canvas1.Width / 2 * .7; > > > CoordinateGrid.ItemsSource = CurrentHolePattern.HoleList; > > RedrawScreen(); > > > } >I'd lean towards putting it at the top - that way you're less likely to be caught out attempting to access objects that haven't been instantiated ....