|
3 / 3 / 0
Регистрация: 23.12.2016
Сообщений: 273
|
||||||||||||||||
Не отображаются элементы в ItemsControl05.06.2025, 18:54. Показов 3200. Ответов 31
Здравствуйте.
хочу сделать окно для заполнения пользователем атрибутов объекта, по типу диалогового окна. Так как атрибутов много решил сделать через ItemsControl. И половина интерфейса отображается, а половина нет. есть такой класс для вью:
Так как значение атрибута может быть разных типов (строка, число, дата и массив байт) свойство Value объекта AttributeRowObject сделал типа object. Так же некоторые из них должны быть помечены как обязательные для заполнения (должны выделяться красным пока пустые) и для числовых хочу добавить проверку ввода пользователя. Сложность в том, что в разным так скажем "режимах" кол-во этих атрибутов и какого они типа разное, поэтому решил делать через ItemsControl. Также половина данных уже заполнена из базы, а вторую половину пользователь вводит руками. Хотелось бы сделать 2 определенных textbox большей ширины, но видимо без ручного указания (такой текстбокс - такая ширина) в коде не получиться, ну точнее я не знаю как. Почему у меня половина данных не отображается? Ошибок привязок нет, в дебаге посмотрел, свойство Value где надо заполнено, компилируется и запускается без проблем. Помогите, пожалуйста. (скрин 1 примерно что хочу видеть, скрин 2 что получаю на выходе сейчас)
0
|
||||||||||||||||
| 05.06.2025, 18:54 | |
|
Ответы с готовыми решениями:
31
ListBox дефолтная стилистика для ItemsControl.ItemTemplate и ItemsControl.ItemsPanel
ItemsControl сортировка |
|
3 / 3 / 0
Регистрация: 23.12.2016
Сообщений: 273
|
|
| 08.06.2025, 12:16 [ТС] | |
|
0
|
|
|
Модератор
|
|
| 08.06.2025, 12:48 | |
|
IIIIIIIIIgor, для общего развития.
Вот такая привязка в шаблоне Binding="{Binding MyObject.FullName}" выкидывает предупреждение.Связано оно с тем, что свойство FullName определено не в типе MyObject, а в типе MyObjectA. В рантайм рефлексия вытянет это свойство, так как будет проверять реальный объект.Но чтобы убрать такие предупреждения, для уменьшения случайных ошибок, в таких случаях лучше использовать полный синтаксис свойств. В данном случае так: Binding="{Binding MyObject.(local:MyObjectA.FullName)}".Добавлено через 3 минуты Binding="{Binding MyObject.Hardware.Name}" -> Binding="{Binding MyObject.(local:MyObjectB.Hardware).Name}"
0
|
|
|
3 / 3 / 0
Регистрация: 23.12.2016
Сообщений: 273
|
|
| 08.06.2025, 17:17 [ТС] | |
|
0
|
|
|
3 / 3 / 0
Регистрация: 23.12.2016
Сообщений: 273
|
|||||||||||||||||
| 09.06.2025, 13:30 [ТС] | |||||||||||||||||
|
в словаре ресурсов объявил
и когда запускаю в классе селектор item приходит null и соответственно получаю эксепшен. при создании окна VM передаю ему в DataContext, со всем остальным проблем нет
в тестовом мб как-то вм по другому (особенно) создавалась не заметно для меня, что она передавалась ни как null?
0
|
|||||||||||||||||
|
3 / 3 / 0
Регистрация: 23.12.2016
Сообщений: 273
|
||
| 09.06.2025, 14:41 [ТС] | ||
|
по xaml отличия в том что в тестовом DataContext задается в самом xaml, а тут я при создании окна в контекст пихаю вм. мб это как то повлияло?
0
|
||
|
Модератор
|
|||
| 09.06.2025, 14:48 | |||
Сообщение было отмечено IIIIIIIIIgor как решение
РешениеПоэтому на момент создания ContentControl в него уже передавался экземпляр VM. А сейчас вы, как я думаю, DataContext передаёте уже после создания Окна, соответствено, и после инициализации XAML. Поэтому на момент создания ContentControl в него передаётся null. Два варианта решения: 1) Этот мне нравится больше. Создать в App.xaml в Ресурсах источник для экземпляра VM. Это может быть просто экземпляр с ключом, или локатор в одном из свойств которого экземпляр VM. Окно в XAML само вытягивает этот экземпляр к себе в DataContext; 2) Добавить в TableRowTemplateSelector проверку на нулевой item, или на проверку по шаблону. И возвращать null или пустой шаблон, если item не экземпляр VM. Добавлено через 41 секунду Долго ответ писал.
1
|
|||
|
3 / 3 / 0
Регистрация: 23.12.2016
Сообщений: 273
|
||||||||||||||
| 09.06.2025, 15:20 [ТС] | ||||||||||||||
|
правда теперь какие ошибки привязки повылазили целых 16 штук, но на работу вроде не влияют Добавлено через 4 минуты еще сможете объяснить почему : если делаю вот так:
а если вот так :
0
|
||||||||||||||
|
3 / 3 / 0
Регистрация: 23.12.2016
Сообщений: 273
|
|
| 09.06.2025, 18:12 [ТС] | |
|
0
|
|
|
Модератор
|
||||||||||||
| 09.06.2025, 20:14 | ||||||||||||
|
Добавьте им значения:
Если нужен вывод над отключенной строкой, то нужно задать значение ToolTipService.ShowOnDisabled.
1
|
||||||||||||
|
3 / 3 / 0
Регистрация: 23.12.2016
Сообщений: 273
|
|
| 09.06.2025, 20:27 [ТС] | |
|
0
|
|
| 09.06.2025, 20:27 | |
|
Как реализовать Multibinding в ItemsControl
Плавное изменение размера окна, когда ItemsSource у ItemsControl очищается и заполняется Странное поведение ItemsControl GridSplitter внутри ItemsControl Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|