WPF- / Codedesign - PullRequest
       6

WPF- / Codedesign

1 голос
/ 25 марта 2011

Я создаю маленькое WPF-приложение с 5 вкладками, и мне интересно, стоит ли разделять вкладки в UserControls. Я думаю, что это хорошо, потому что мой XAML-код составляет около 400 строк и растет, но с другой стороны, я думаю, что это большая работа, чтобы передать события в главное окно и замедлить его. Возможно, я мог бы работать с событиями в UserControls, но тогда мне нужны решения, чтобы иметь доступ к переменным в моем главном окне.

Так что бы вы мне порекомендовали?

Ответы [ 2 ]

2 голосов
/ 25 марта 2011

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

Поскольку вы упомянули, что это относительно небольшое приложение, используйте это как общее правило; В тот момент, когда управление элементами управления на каждой вкладке становится проблемой, оберните их в UserControl.

но с другой стороны я думаю, что это большая работа, чтобы передать события моему главному окну и замедлить его.

Это не много работы, и это определенно не вызовет проблем с производительностью.

0 голосов
/ 25 марта 2011

Как сказал Эд С. выше, это точно не замедлит работу вашего приложения. Я бы порекомендовал вам разделить на отдельные элементы управления. Больше, чем потеря веса XAML, это действительно поможет вам легко понять вашу архитектуру. Мой личный подход будет "Одна вкладка = одна UserControl = одна ViewModel". Я разработал несколько больших приложений в WPF, теперь я могу посмотреть на них и мгновенно понять, что там происходит, так как все части разделены

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