public virtual void Initialise(ItemsControl todoList, ObservableCollection<ToDoItemViewModel> todoItems) { _todoList = todoList; _todoItems = todoItems; // when the ItemsControl has been rendered, we can locate the ScrollViewer // that is within its template. _todoList.InvokeOnNextLayoutUpdated(() => LocateScrollViewer()); IsEnabled = true; }