using System.Collections.Generic; using System.Linq; using MVPtoMVVM.mvp.presenters; using MVPtoMVVM.mvp.views; using StructureMap; namespace MVPtoMVVM.mvp { public partial class MvpWindow : IMvpView { private IMvpPresenter presenter; public MvpWindow() { InitializeComponent(); presenter = ObjectFactory.GetInstance(); presenter.SetView(this); newItemButton.Click += (o, e) => presenter.AddNewItem(); cancelButton.Click += (o, e) => presenter.CancelAllChanges(); } public void ShowTodoItems(IEnumerable presenters) { todoItemsList.ItemsSource = presenters.Select(x => new TodoItemView(x, presenter)); } public IEnumerable GetTodoItems() { return todoItemsList.ItemsSource.Cast().Select(x => x.Presenter); } } }