Работа над стилями контролов продолжается
Несмотря на то, что наступили выходные, у меня работа над стилями для контролов интерфейса идет полным ходом. Вернее, медленно идет, медленней, чем хотелось бы. Если не считать мелочей, то сегодня за шесть часов работы успел реализовать стили для элемента «ComboBox».
В окне программы (на скриншоте) видно, что я начал расставлять элементы управления в строке панели инструментов. Хотел сегодня это доделать, да не придется. Нужно заняться и другими делами, это уже переносится на понедельник.
И вот тут меня ждал очередной неприятный сюрприз. Подстава, опять подстава от авалонии. Разбирая свойства элемента «ComboBox» я не нашел у него атрибута «IsEdit», который используется для задания выпадающего списка с возможностью редактирования в текстовом поле. То есть тут дело обстоит как с HTML-элементом «select» - выбирать из списка можно, но нельзя самому задать значение. Опять, в очередной уже который раз я обнаружил то, что не доработано или не реализовано в UI Авалония. Сколько можно? Сколько уже можно доделывать чужую работу. Вот связался с этим и паши. Теперь не знаю, придется, может быть, реализовывать свой контрол подобный «ComboBox», но с возможностью редактирования.
Я пока ещё не определился, нужен ли мне этот контрол. Не хочу стилизовать ненужные элементы. Потому что это занимает слишком много времени. Я сегодня день потратил на то, чтобы стилизовать один элемент, а их там десятки! Это очень времязатратное мероприятие.
Однако, я сегодня набрел на один элемент авалонии, который похож на «ComboBox» с возможностью редактирования. Сейчас не могу вспомнить, как он называется. Однако с ним подстава заключается в том, что в XAML-коде нельзя (или у меня не получилось) определить элементы для выпадающего списка. Они привязываются через модель-представление со свойством «ObservableCollection», имеющий тип данных «IEnumerable». Надо же нафиг, я запомнил даже тип данных элементов этого контрола, а вот название самого контрола не помню!
Ну да ладно, поищу его потом в документации авалонии. Именно из-за того, что в разметке список элементов задать нельзя, это делает неудобной работу с самим контролом. Ах, вот, нашел. Называется он «AutoCompleteBox». Выпадающий список при редактировании поля ввода элемента, который предлагает значения по найденным совпадениям с введенной строкой. Это не заменит «ComboBox» с возможностью редактирования, поскольку тут нельзя ввести произвольное значение без предложения автозаполнения. В каких-то случаях полезный контрол, но это не совсем то. Вот, пожалуйста, кто-то поленился реализовать это из коробки авалонии, а мне теперь время тратить на то, чтобы доделать недоделанную работу.

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.