Silverlight 2 и шаблон MVP - PullRequest
       22

Silverlight 2 и шаблон MVP

0 голосов
/ 26 сентября 2008

Есть идеи, как заставить MVP работать с Silverlight? Как мне обойти тот факт, что событие load не возникает?

Это мнение у меня:

    public partial class Person: IPersonView
    {
        public event RoutedEventHandler Loaded;

        public Person()
        {
            new PersonPresenter(this);

            InitializeComponent();
        }

        public Person Person
        {
            set { Person.ItemsSource = value; }
        }
    }

И мой ведущий:

 public class PersonPresenter
    {
        private readonly IPersonView _view;
        private readonly ServiceContractClient _client;

        public PersonPresenter(IPersonView view)
        {
            _client = new ServiceContractClient();

            _view = view;
            WireUpEvents();
        }

        private void WireUpEvents()
        {
            _view.Loaded += Load;
        }

        private void Load(object sender, EventArgs e)
        {
            _client.GetPersonCompleted += Client_GetPerson;
            _client.GetPersonAsync();
        }

        private void Client_GetPerson(object sender, GetPersonCompletedEventArgs e)
        {
            _view.Person= e.Result;
        }
    }

Ничего не случилось со мной, так как событие Loaded не вызывается, как мне обойти это?

Ответы [ 3 ]

3 голосов
/ 30 сентября 2008

Тим Росс имеет хорошее введение в реализацию Silverlight MVP с исходным кодом.

1 голос
/ 26 сентября 2008

Я полагаю, что загруженное событие вызывается, когда элемент управления инициализирован, загружен, обработан и готов к использованию. Это означает, что до тех пор, пока вы не поместите его в видимый контейнер (чтобы он отображался), загруженное событие не будет вызываться.

0 голосов
/ 06 ноября 2008

Вы можете рассмотреть возможность использования MVC # - платформы Model View Presenter с поддержкой Silverlight 2.0.

Олег Жуков

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...