master
 1using System.Collections.Generic;
 2using System.Linq;
 3using MVPtoMVVM.mvp.presenters;
 4using MVPtoMVVM.mvp.views;
 5using StructureMap;
 6
 7namespace MVPtoMVVM.mvp
 8{
 9    public partial class MvpWindow : IMvpView
10    {
11        private IMvpPresenter presenter;
12
13        public MvpWindow()
14        {
15            InitializeComponent();
16            presenter = ObjectFactory.GetInstance<IMvpPresenter>();
17            presenter.SetView(this);
18            newItemButton.Click += (o, e) => presenter.AddNewItem();
19            cancelButton.Click += (o, e) => presenter.CancelAllChanges();
20        }
21
22        public void ShowTodoItems(IEnumerable<ITodoItemPresenter> presenters)
23        {
24            todoItemsList.ItemsSource = presenters.Select(x => new TodoItemView(x, presenter));
25        }
26
27        public IEnumerable<ITodoItemPresenter> GetTodoItems()
28        {
29            return todoItemsList.ItemsSource.Cast<ITodoItemView>().Select(x => x.Presenter);
30        }
31
32    }
33}