|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
|||
Приложение MVVM. Диалог добавления/редактирования товара: получение данных, вызов, взаимодействие с VM и прочее09.03.2023, 14:42. Показов 9592. Ответов 207
Метки нет (Все метки)
Добавлено через 3 минуты Меня интересует маппер. Он инициализирует свойства составного типа такие как Manufacturer?
0
|
|||
| 09.03.2023, 14:42 | |
|
Ответы с готовыми решениями:
207
Приложение MVVM. Контекстное меню (удаление, редактирование) для элемента (Товара) в ListBox Взаимодействие баз данных с MVVM
|
|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
||
| 12.03.2023, 14:36 [ТС] | ||
|
Добавлено через 3 минуты Я, кстати, вначале подумал, что мы будем при редактировании менять лишь свойства, а не сам объект Добавлено через 2 минуты Теперь надо как-то выбирать изображение в диалоге...
0
|
||
|
Модератор
|
||||
| 12.03.2023, 15:00 | ||||
|
Добавлено через 1 минуту Копируете его в папку приложения с преобразованием в нужное качество. Запоминаете только имя файла. Всё. Какие трудности? Добавлено через 4 минуты Мы не можем в нём менять свойства. Добавлено через 1 минуту Для мутабельности свойств пришлось бы прописывать реализацию INPC. А для Модели это не к месту. Так можно сделать в "быстром" варианте.
0
|
||||
|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
|||
| 12.03.2023, 17:20 [ТС] | |||
|
Добавлено через 3 минуты
0
|
|||
|
Модератор
|
||
| 12.03.2023, 18:46 | ||
|
Остальные действия - оно как бы не View, но и не для основной VM. Для основной VM нужен только стринговый ключ (имя файла), который сохраняется в БД. Все эти действия - это либо своя независимая VM+Модель, либо уровень App. Так как у наc уровни App и View не разделены (они вообще в простых WPF приложениях разделяются исключительно редко), то можно создать какой-то хелпер или добавить функционал в ViewHelper.
1
|
||
|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
|
| 12.03.2023, 19:03 [ТС] | |
|
Элд Хасп, понял, а не подскажете, какие свойства следует задать для диалога выбора файла?
0
|
|
|
Модератор
|
|||||||
| 12.03.2023, 19:12 | |||||||
1
|
|||||||
|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
|
| 12.03.2023, 20:44 [ТС] | |
|
Элд Хасп, благодарю
Добавлено через 1 минуту Но Вы ничего не сказали насчет ввода цены. Неплохо ведь получилось? В конвертере возвращается Binding.DoNoting, чтобы при дописывании десятичной точки в TempProduct не менялось значение свойства. Ну, это в случае, если точка была дописана в самый конец
0
|
|
|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
|
| 12.03.2023, 22:31 [ТС] | |
|
Элд Хасп, помнится мне, что в конвертере для изображений Вы использовали синтаксис упакованных uri. А почему в этом конвертере не так? Или тот был адаптирован специально для режима дизайнера?
0
|
|
|
Модератор
|
||
| 13.03.2023, 00:07 | ||
|
А потом выяснилось, что это внешние файлы рядом со сборкой. Изменилась задача - изменилась и реализация. Добавлено через 2 минуты INexteR, смотрю на ваш конвертер и обработчик. И думаю как бы их совместить. Пока в голову ничего не пришло. Добавлено через 19 минут Проблема упирается в то, что в Binding закрыт метод ProvideValue.
0
|
||
|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
|||||||
| 13.03.2023, 10:47 [ТС] | |||||||
|
Добавлено через 37 минут С выбором файла я сделал пока так:
Добавлено через 14 минут Я заметил, что в папку net7.0-windows копируется папка с изображениями. Разве должно быть так? И выходит, что я работаю с этой папкой, а не с той, что находится в папке NewTrade
0
|
|||||||
|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
||||||
| 13.03.2023, 19:43 [ТС] | ||||||
|
Пришлось поменять код конвертера на такой
0
|
||||||
|
Модератор
|
||||||||||||
| 13.03.2023, 20:25 | ||||||||||||
|
Они выполняют совместную функцию. Если установить один без другого, то будет чёрт пойми что. По ООП и SOLID лучше это как-то усовершенствовать. Будет время - займусь.
Возможно стоит перенести эти свойства и константы в App или в отдельный класс статических настроек. Решений два: 1) Копировать файл в память, и чтобы наш конвертер возвращал не путь к файлу, а массив из памяти. Тогда файл не будет захвачен. 2) Перед удалением задать в Image другой источник или обнулить. Тогда предыдущий источник будет отпущен. Это рациональнее по памяти. Но создаёт риски, что ссылка на файл будет в нескольких Image и просто потеряется контроль какой из них удерживает. Второй момент отпускание - это не мгновенный процесс. Возможно потребуется вызов мусорщика. Добавлено через 3 минуты NewTrade - это проект: исходные коды, различные ресурсы, настройки компиляции и т.д. Поэтому проекту компилятор создаёт сборку. А так как файлы ресурсов проекта тоже нужны для работы сборки, то они или компилируются внутрь ней, или копируются рядом с ней. По заданию вам нужно второе.
0
|
||||||||||||
|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
|
| 13.03.2023, 20:25 [ТС] | |
|
0
|
|
|
Модератор
|
|||
| 13.03.2023, 20:31 | |||
|
Можно проще - достаточно вернуть массив байт return File.ReadAllBytes(some_path_name);Добавлено через 38 секунд WPF умеет "переваривать" байтовый массив в изображение. Добавлено через 40 секунд Но конвертер. Мульти конвертер, по-моему, не умеет.
0
|
|||
|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
||
| 13.03.2023, 20:33 [ТС] | ||
|
0
|
||
|
Модератор
|
||
| 13.03.2023, 20:39 | ||
|
Так, мне кажется лучше делать., чем авто удаление. Вдруг удалил у одного и хочет добавить это изображение другому товару? Добавлено через 1 минуту Можно фоном вызывать проверку раз в час (или другой период). Будет проверять наличие лишних файлов и отсутствие нужны. Если есть ошибки, то выдавать предупреждение об этом.
0
|
||
|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
|||
| 14.03.2023, 00:35 [ТС] | |||
|
Добавлено через 2 минуты Да я уж и сам отредактировал сообщение. Это вышло из-за того что сайту стало плохо Добавлено через 28 минут Элд Хасп, я вот думаю при закрытии окна посредством не кнопки удаления, если Path у TempProduct != null, вызвать команду удаления Добавлено через 1 минуту Похоже, мне тут нужен EventToCommand Добавлено через 6 минут А, ну в таком случае при открытии диалога в режиме редактирования и наличия у него изображения, оно удалится Добавлено через 3 часа 8 минут Добавлено через 4 минуты Элд Хасп, да уж, там с этими изображениями настоящая проблема. Мне пришлось поместить код в cb
0
|
|||
|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
|
| 14.03.2023, 10:04 [ТС] | |
|
Элд Хасп, я там прописал код с охапкой if, предотвращающий все это баловство с изображениями. Трудно его назвать читаемым/доступным, но он работает
0
|
|
| 14.03.2023, 10:04 | |
|
Создание базы данных с функциями ввода, вывода, редактирования, удаления или добавления данных Формы редактирования, добавления данных Форма для добавления, редактирования, удаления данных Пример добавления, удаления и редактирования данных в БД *.mbd Использование возможностей добавления, редактирования и удаления необходимых записей в базы данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
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 и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|