Правильный способ создания собственных пользовательских элементов управления в WPF (Csharp) - PullRequest
0 голосов
/ 02 июля 2011

У меня моральный вопрос :) Я создаю свои собственные элементы управления (производные UserControl) в WPF. Теперь есть два способа:

  1. Я использую один файл xaml и один файл cs и у меня есть все мои вещи
  2. Я лоялен к MVVM и создаю один файл xaml и cs для пользовательского контроля плюс один файл cs для его View Model, и я использую технику MVVM. Тогда я должен использовать свой контроль следующим образом: В xaml:

    <ContentControl Content={Binding MyControl....
    

    В коде:

    MyControl = new MyControlViewModel()
    

До сих пор я использовал второй подход, но сейчас я читаю некоторые мудрые статьи, и кажется, что многие люди используют в первую очередь. Так что я должен смешивать вид и логику при создании элементов управления? Конечно, я держу MVVM в других частях приложения (я стараюсь держать все логические элементы в модели представления). Боюсь, что мой файл cs будет слишком длинным.

1 Ответ

1 голос
/ 02 июля 2011

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

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

...