В каком случае мне нужно будет использовать WPF? - PullRequest
2 голосов
/ 09 августа 2010

Я занимаюсь разработкой небольшого настольного приложения в VB.NET.Это должно быть формально, как бизнес-приложение.Нужно ли мне использовать WPF?

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

Могу ли я дать некоторые рекомендации по этому поводу?

Ответы [ 4 ]

2 голосов
/ 09 августа 2010

Теперь, когда я знаю WPF - и, в частности, теперь, когда я понимаю привязку, команды и шаблон MVVM - я не собираюсь снова использовать WinForms. WinForms подойдет, если вы разрабатываете простые статические пользовательские интерфейсы, которые никогда не изменятся, и если вам все равно, как они выглядят на машинах, отличных от вашей рабочей станции разработки. Но как только вы начинаете нуждаться в большем, ваш код пользовательского интерфейса становится все более сложным и сложным в обслуживании.

WPF-приложения на первый взгляд кажутся более сложными, особенно если вы думаете о WinForms как о молоте, и ваш подход к изучению WPF состоит в том, чтобы обдумать его. Но как только вы поймете привязку и шаблоны и примете шаблоны проектирования, использующие преимущества этих технологий, сложность исчезнет. Существует бюрократия - реализация INotifyPropertyChanged и свойств зависимостей и RoutedCommand s довольно утомительна, и кажется, что, возможно, отсутствует уровень абстракции - но если вы посмотрите на поверхность, приложения WPF на самом деле намного проще, чем приложения WinForms. Привязка коллекции объектов к ItemsSource из ItemsControl и реализация DataTemplate для этих объектов приводит к очень небольшому объему кода и работает, что было бы значительным усилием в WinForms.

1 голос
/ 09 августа 2010

Небольшие настольные приложения, особенно деловые, с формами и текстовыми полями и минимальной вспученностью, подойдут для Windows Forms.Если вам не нужна дополнительная мощность, которую дает вам WPF, не беспокойтесь об этом - в любом случае есть некоторая кривая обучения, так что подождите, пока вам не понадобится ее изучить, или у вас есть время для личного проекта, где вы можете поэкспериментировать сэто.

1 голос
/ 09 августа 2010
  • Вам не нужно , чтобы использовать его.
  • Вы можете очень хорошо использовать его для неграфических задач
  • Это займет немногоизучение, когда вы привыкли к WinForms.

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

0 голосов
/ 09 августа 2010

Я нахожу это впечатляющим даже для небольших бизнес-приложений (и действительно хорошо для крупномасштабных систем).По-моему, в WPF намного проще получить такой «профессиональный» вид, чем в Windows Forms.И отсутствие необходимости иметь дело с «супом-событием» - явный плюс в моей книге.Мое соотношение ошибок значительно уменьшилось, и я переключился на WPF.

Конечно, это требует некоторого обучения (простое обучение Windows Forms требует времени).Мне потребовалось около полугода, прежде чем я приобрел тот же уровень навыков, что и в Windows Forms, но скорость работы все еще растет (я использую его с тех пор, как вышел .NET 3.0).

И я согласен с Хенком - конечно, посмотрите на MVVM , если вы решите попробовать - вот где сияет WPF.

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