none
MaskEdit в WPF RRS feed

  • Вопрос

  • В технологии WPF отсутствует элемент управления MaskedTextBox. Не нашел я его и в новой версии VS 2010 beta 2. Пожелание - иметь такой ЭУ в окончательной версии. Какую маску нужно использовать при использовании MaskedTextBoxProvider по умолчанию (пустое значение выдает ошибку), чтобы можно было вносить в поле все символы. Для справки: в MS Access все ЭУ textbox имееют свойство "masked", значит что-то используется по-умолчанию?

     

    • Перемещено Tagore Bandlamudi 2 октября 2010 г. 0:58 MSDN Forums consolidation (От:Visual Studio - отзывы и пожелания)
    29 октября 2009 г. 10:48

Ответы

  • Я сообщил разработчикам о вашей просьбе, но шансов, что данный элемент управления будет в финальной версии 2010 на данном этапе работы над ней нет. К тому же, WPF - это часть .NET Framework, Студия лишь инструмент для него.
    WPF задумывался, как технология, предоставляющая набор базовых элементов управления с возможностью гибкой настройки как функционала, так и внешнего вида при помощи Style и Template. MaskedTextBox также может быть реализован путем изменения стандартного шаблона.

    • Помечено в качестве ответа Vitaly Zayko 30 октября 2009 г. 7:41
    30 октября 2009 г. 7:41

Все ответы

  • Я сообщил разработчикам о вашей просьбе, но шансов, что данный элемент управления будет в финальной версии 2010 на данном этапе работы над ней нет. К тому же, WPF - это часть .NET Framework, Студия лишь инструмент для него.
    WPF задумывался, как технология, предоставляющая набор базовых элементов управления с возможностью гибкой настройки как функционала, так и внешнего вида при помощи Style и Template. MaskedTextBox также может быть реализован путем изменения стандартного шаблона.

    • Помечено в качестве ответа Vitaly Zayko 30 октября 2009 г. 7:41
    30 октября 2009 г. 7:41
  • Я сообщил разработчикам о вашей просьбе, но шансов, что данный элемент управления будет в финальной версии 2010 на данном этапе работы над ней нет. К тому же, WPF - это часть .NET Framework, Студия лишь инструмент для него.
    WPF задумывался, как технология, предоставляющая набор базовых элементов управления с возможностью гибкой настройки как функционала, так и внешнего вида при помощи Style и Template. MaskedTextBox также может быть реализован путем изменения стандартного шаблона.


    Во-первых, Виталий, большое спасибо, что "сообщил разработчикам о вашей просьбе". Во-вторых, несколько удивляет позиция разработчиков VS Studio. Тогда хотелось бы знать - для кого вообще разрабатывется MS Visual Studio - для разработчиков программного обеспечения (элементов управления, сервисов и т.д), которые, извините, "подчищают" недоработки команды и тем самым зарабатывают себе на хлеб (тогда, конечно, все понятно) или имеется ориентация на разработчиков конечных приложений. В этом случае - могу сказать одно - некогда и нет желания изобретать велосипед. Создать собственный MaskedTextBox для WPF конечно можно. Но это увы, далеко не тривиальная задача. В качестве подтверждения отсылаю к книге "Pro WPF in C# 2008 Windows Presentation Foundation with .NET 3.5" Second Edition" автора Matthew MacDonald, где он описывает в главе 24 создание такого элемента, но и он делает оговорку, что это не будет полнофункциональным элементом - реализация вырезки и вставки в элемент управления не всегда будет работать корректно (возможно разрушение маски ввода).
    В-третьих, "WPF задумывался, как технология, предоставляющая набор базовых элементов управления с возможностью гибкой настройки как функционала, так и внешнего вида при помощи Style и Template" -  Это немного  смущает, ведь не в одной книге WPF анонсируется как технология разработки будущего (пример - эта же книга и книга Ч. Петцольда - "Основы WPF"), а не как какой-либо дополнительный инструмент, помогающий решить задачи, отсутствующие в Windows Form. Или венегрет WPF+Windows Forms - это нормальное явление и будем на это ориентироваться и впредь?
    В четвертых,  - мы приобретаем программный продукт для разработки и платим за это деньги. Да это понятно, что при выпуске продукта что-то не успели, что-то выявилось позже. Но почему, недочеты и недоработки переносятся в новую версию, которую мы вновь оплачиваем, а не выходят в виде Service Pack. Приложение одного экземпляра, реализовано в WPF 3.5 весьма замысловато - с обязательным использованием библиотек VisualBasic, даже если мы пишем на C#. Конечно в этом нет ничего плохого, следуя концепции CLR, но хотелось бы как можно проще.
    Исходя из выше сказанного, есть ОЧЕНЬ БОЛЬШОЕ пожелание разработчикам MS Visual Studio: переориентироваться немного на упрощение использования технологии в целом, иначе идея о возможности написания программ домохозяйками останется несбыточной (кстати  - идея Microsoft), а среди программистов прикладников по-прежнему на первом месте будут оставаться технологии от конкурентов. Спасибо.
    31 октября 2009 г. 9:28
  • Уважаемый Валерий!
    Извините меня, если я не достаточно точно выразил свою мысль. Я не в коей мере не хотел вас обидеть и уж точно не занимаюсь отписками. Работа над VS2010 и .NET4 находится в заключительной стадии. Продукт будет запущен 22 марта. Сейчас вся работа сосредоточена на исправлении ошибок и улучшении быстродействия. Добавление нового функционала на данном этапе несет большие риски для качества. Я просто не хочу давать невыполнимых обещаний.
    MaskedEditTextBox достаточно важный и часто используемый элемент управления. Почему он не включен в WPF я, честно говоря, не знаю. При том, что в WinForms он присутствует. Однако, если абстрагироваться от данного конкретного элемента управления, идею WPF я вижу в следующем: предоставление не самих элементов управления, а их функционала, поведения, которым можно воспользоваться, изменив внешний вид элемента до неузнаваемости. Но это – мое частное мнение.
    Возвращаясь к вашему вопросу. WPF в составе имеет PasswordBox в добавлении к обычному текстовому полю, поэтому существование MaskedTextBox было бы вполне логичным. Надеюсь, он будет добавлен в будущем.
    Так или иначе: огромное спасибо вам за это сообщение! Разработчики инструментария разработки не всегда могут оценить ценность того или иного элемента управления, тогда, как разработчики бизнес приложений, в силу своей повседневной работы, имеют четкое представление об этом. Ваши отзывы – лучший способ синхронизировать наше мнение. Успехов!
    31 октября 2009 г. 10:42
  • Виталий, это не обида, и тем более не лично к Вам. Более того, я очень рад, что наконец-то есть реальная связь на русском языке с разработчиками. И за это огромное спасибо - лично Вам и всей команде Microsoft RUS. Надеюсь, что маркетинговые планы компании по продвижению продуктов не будут идти в разрез с желаниями и ожиданиями пользователей-разработчиков, сделавших ставку на средства разработки Microsoft. А создатели инструментов разработки проникнуться проблемами прикладников и решат часть их проблем. (Не годиться, когда необходимо для реализации нужного элемента управления перелопатить кучу информации, написать и отладить несколько классов - это время, которого у прикладника и так не много. Заказчик просто не поймет). В конечном счете, задача любого прикладника  - построить монолитную систему контроля / защиты вводимой информации, чтобы в процессе ее обработки не возникало неожиданных ситуаций. Мы ждем именно такой инструмент от Microsoft, который позволит это сделать легко и красиво и получить наслаждение от результата своей работы, а не от процесса программирования. Мы верим команде Microsoft - и ожидаем, что они нас не подведут! 

    31 октября 2009 г. 15:50