2015-06-03 2 views
0

Мне поручили рефакторинг беспорядка страницы, и я хотел бы реорганизовать его наилучшим образом. Страница макета - 600 + строк, а файл кода - почти 1400. Я хотел бы разделить разные модули страницы на пользовательские элементы управления, но эти модули получают неудивительно, со страницы, на которой они находятся. Для короткого образца:Какова наилучшая практика для связи между пользовательским элементом управления и родительской страницей?

Как я могу разрешить эту функцию? Пользовательский элемент управления должен иметь доступ к тому же продукту с родительской страницы, но я не уверен, что лучше всего подходит для этого.

Я читал http://www.codeproject.com/Articles/8797/Mastering-Page-UserControl-Communication, но я не уверен, как связать его с моей ситуацией. Создать интерфейс? Создать связь с событием? Если да, то как передать информацию о продукте этому элементу управления?

ответ

0

Вы можете сделать это способом MVVM. Создайте ViewModel, наследуйте от INotifyPropertyChanged, определите свойства для данных. Установите datacontext вашей родительской страницы и usercontrol в качестве ViewModel и продолжайте обновление свойств. Теперь на usercontrol и на родительской странице вы можете получить доступ к данным, используя эти свойства. Вот один example. вы найдете еще много ссылок/примеров по сети, чтобы реализовать способ MVVM.

Смежные вопросы