|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
|||
Приложение MVVM. Диалог добавления/редактирования товара: получение данных, вызов, взаимодействие с VM и прочее09.03.2023, 14:42. Показов 9338. Ответов 207
Метки нет (Все метки)
Добавлено через 3 минуты Меня интересует маппер. Он инициализирует свойства составного типа такие как Manufacturer?
0
|
|||
| 09.03.2023, 14:42 | |
|
Ответы с готовыми решениями:
207
Приложение MVVM. Контекстное меню (удаление, редактирование) для элемента (Товара) в ListBox Взаимодействие баз данных с MVVM
|
|
Модератор
|
||
| 16.03.2023, 20:46 | ||
|
Я же даже про наше основное приложение ни раз писал "Это идеальная реализация для обучения". В практических приложениях многие углы срезаются. Но надо знать как делается правильно, чтобы понимать что можно срезать, а что нет. В данном случае можно сказать так: "Behavior - это более правильная реализация с точки зрения ОПП, SOLID. Она более универсальна и позволят использовать её как библиотечный элемент. Но в данном случае мне нужно одноразовое локальное решения, поэтому я предпочёл костыль в CB с более коротким кодом."
1
|
||
|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
||
| 16.03.2023, 20:49 [ТС] | ||
|
0
|
||
|
Модератор
|
||
| 16.03.2023, 20:55 | ||
|
Какая ещё может быть причина. Честно говоря не пойму даже почему в Loaded вы смогли получить PART_EditableTextBox.По идее его тоже не должно быть. Проверю сейчас. Добавлено через 2 минуты Проверил - оба null
0
|
||
|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
||
| 16.03.2023, 21:35 [ТС] | ||
|
Добавлено через 13 минут Я что-то не пойму, VisualTree что ли всегда null выдаёт? На самом деле визуальное дерево создано в шаблоне в xaml. И до компоновки, и после нее это свойство остается пустым Добавлено через 9 минут В общем подскажите мне пожалуйста, как скрыть/удалить пункты меню в зависимости от прав пользователя. Писать однотипные DataTemplate с различием в одном лишь наборе пунктов меню не хочу. Писать триггеры в шаблоне тоже не хочу
0
|
||
|
Модератор
|
|||
| 16.03.2023, 21:42 | |||
|
Но на каком-то выдаст правильный результат. По нормальному нужно переопределять OnApplyTemplate(). Но это возможно только в Custom Control. Добавлено через 2 минуты
0
|
|||
|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
||
| 17.03.2023, 07:23 [ТС] | ||
|
0
|
||
|
|
|||||||
| 17.03.2023, 08:26 | |||||||
1
|
|||||||
|
Модератор
|
||
| 17.03.2023, 09:21 | ||
|
"Исчезание" неактивных пунктов - это вторая задача, решаемая стилем MenuItem. Задаётся зависимость Visibility от IsEnabled. Вы постоянно пытаетесь думать "от View", а рассуждать нужно "от Модели". Модель знает что какие-то пункты в GUI видимы или нет? Нет, конечно. Модели это "по барабану". Она просто разрешает или нет выполнение каких-то методов для определённых категорий пользователей. Поэтому сначала нужно реализовать деактивацию команд VM в зависимости от прав. А как потом будут использованы эти состояния команд - "вторичный" вопрос.
0
|
||
|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
||
| 17.03.2023, 13:53 [ТС] | ||
|
Добавлено через 1 минуту Просто не понимаю, разве это будет правильно, если в модели не будет этих свойств, а в VM они появятся
0
|
||
|
|
||
| 17.03.2023, 14:00 | ||
|
0
|
||
|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
|
| 17.03.2023, 14:11 [ТС] | |
|
0
|
|
|
|
|
| 17.03.2023, 14:19 | |
|
INexteR, Ну если идеальная, то тогда и в CB должно быть пусто, и модель с VM должны быть типа NET Standart и еще много чего
0
|
|
|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
|
| 17.03.2023, 14:23 [ТС] | |
|
0
|
|
|
|
||
| 17.03.2023, 14:28 | ||
|
1
|
||
|
Модератор
|
||||||
| 17.03.2023, 14:56 | ||||||
|
Более детально зависит от БЛ. Если права однозначно определяются ролью (а у нас так), то дополнительные свойства/методы в Модели для их получения будут избыточны. Состояние команд VM будет зависимым от роли получаемой из текущего пользователя - и этого достаточно. Добавлено через 7 минут В "идеальном" MVVM - паттерн никаких требований на этот счёт не содержит. VM - нет. Она платформа зависима. Например для WPF и UWP требуется в многопотоковом приложении разные реализаци INPC и команд, по разному реализуется работа с INCC (синхронизация коллекций). Оно как бы можно сделать универсальную VM, но там будет много кода который в рантайм будет определять платформу и переподключать требуемые типы. Поэтому "идеальность" только в рамках текущей задачи. Добавлено через 1 минуту Framework, Core (в том числе .Net 5+) к UWP не подключатся.
1
|
||||||
|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
|||||||||||
| 17.03.2023, 19:55 [ТС] | |||||||||||
|
Элд Хасп, я написал конвертер, который формирует ContextMenu. Это позволительно?
0
|
|||||||||||
|
Модератор
|
||
| 17.03.2023, 20:02 | ||
|
Контекстное меню обычно так и создаются - отдельный экземпляр для каждого элемента его вызывающего. Для списка можно задать экземпляр в ресурсах и обращаться к нему. Такое допустимо, поскольку, Контекстное меню будет вызываться одновременно только у одного элемента.
0
|
||
|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
||
| 17.03.2023, 20:18 [ТС] | ||
|
Добавлено через 1 минуту Мне бы хотелось услышать вашу оценку для этого решения
0
|
||
|
Модератор
|
||||
| 17.03.2023, 20:25 | ||||
|
Раз уж нужно создать свой UI элемент, создайте CustomControl из ContextMenu. Пусть принимает данные в DataContext или в какое-то кастомное свойство и производит самонатсройку. Добавлено через 1 минуту
0
|
||||
|
17 / 16 / 1
Регистрация: 25.01.2023
Сообщений: 468
|
||
| 17.03.2023, 20:43 [ТС] | ||
|
0
|
||
| 17.03.2023, 20:43 | |
|
Создание базы данных с функциями ввода, вывода, редактирования, удаления или добавления данных Формы редактирования, добавления данных Форма для добавления, редактирования, удаления данных Пример добавления, удаления и редактирования данных в БД *.mbd Использование возможностей добавления, редактирования и удаления необходимых записей в базы данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|