WPF - Почему Microsoft не предоставляет достойный набор наиболее часто используемых элементов управления? - PullRequest
7 голосов
/ 21 декабря 2010

Я играю с WPF уже несколько месяцев, и мне это очень нравится. Но одна вещь, которую я не понимаю, это то, что MS не прикладывает больше усилий, чтобы помочь разработчикам, предоставляя базовые элементы управления, и мне нужно избавиться от этого:)

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

  • текст
  • чисел (байт, число с плавающей запятой / double, int и т. Д.)
  • цвет

.... и т.п.

Так почему же нет такого простого элемента управления для редактирования чисел? Как универсальный элемент управления NumericUpDown, который позволяет вводить числа (без текста, без вставки недопустимого ввода) или вращать их вверх / вниз в соответствии с некоторыми заданными правилами (десятичное, с плавающей запятой, min / maxvalue)? Почему нет универсального средства выбора цвета, чтобы люди получали одинаковый пользовательский опыт в каждом приложении? Почему не существует стандартной реализации SearchTextBox, элемента управления BreadCrumb или всех других стандартных типов элементов управления, к которым пользователи привыкли за последние 10 лет?

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

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

Я вижу людей по всему Интернету, пытающихся делать одно и то же снова и снова. Итак, MS запустила проект WPF Toolkit на Codeplex, который пытается реализовать некоторые элементы управления, но сделал это нерешительно и на данный момент полностью мертв (последнее обновление дорожной карты датируется 21 марта 2009 г.).

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

Разве не была мантра "Разработчики, разработчики, разработчики!" ..

/ Рант

Ответы [ 4 ]

2 голосов
/ 21 декабря 2010

Я думаю, что Microsoft - и некоторые люди, отвечающие здесь - забывают о самой важной части этого поста:

" Общеизвестный идеал - всегда предоставлять пользователям одинаковый пользовательский интерфейс для разных приложений. Поэтому, даже если бы некоторые из этих элементов управления было легко создать - было бы предпочтительнее иметь одну версию для разных приложений"

Просто воспользуйтесь поиском картинок Google на «Выбор цвета WPF» (http://www.google.nl/images?q=wpf+color+picker), и вы увидите, что эта идея рухнула.

2 голосов
/ 21 декабря 2010

Потому что это нелепо легко сделать в WPF. В WPF и silverlight основное внимание Microsoft уделяется основной структуре, которая делает многие задачи (например, стилевые элементы управления) чрезвычайно простыми. Инструменты важнее, чем встроенные элементы управления. Они сосредотачиваются на СЛЕДУЮЩЕЙ вещи, а не на лучших Winforms.

0 голосов
/ 21 декабря 2010

Существует множество сторонних поставщиков, которые предоставляют мощные настраиваемые элементы управления (редактор, навигация, сетки, меню, сетки свойств, ...).

Как правило, дешевле покупать у них, чем переписывать свои собственные (если это, конечно, соответствует вашим потребностям).

Исторически Microsoft всегда поощряла богатую «компонентную» экосистему вокруг того, что они предоставляют из готовых функций. Это было верно с самого начала компонентного программирования (VBX, OCX, ...) с технологией Microsoft. Это спорно, но это стратегия: -)

0 голосов
/ 21 декабря 2010

Это именно то, что я думал в начале с WPF ..

Но, в конце концов, NumericUpDown легко создается с помощью пользовательского элемента управления cutom, то же самое для всех элементов управления, которые вам когда-либо понадобятся, вы можете создать его самостоятельно (почти) в кратчайшие сроки или получить какую-то реализацию, прибегая к поиску, и затем вы можете все еще настраиваю

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

...