WPF - Как лучше сделать следующий контрол?
Ну можно, конечно, редактировать и 700 х 10кб в одном файле. Но без удобного редактора
У нас разный подход к проблеме.
И не знаю где ты видишь сложности, хотя как в асп.нет это всё нормально сделать я не знаю.
Есть страница редактора стеллажа - пара полей для ввода, превью и кнопки сохранить в файл и читать из файла
Есть страница редактора коллекции стеллажей - там список готовых файлов с конфигурациями стеллажей, "зал" со стеллажами и кнопки перемещения туды-сюды. Можно было и драг/дроп сделать, но жирно сильно будет.
Кода там почти ничего.
Чем? нормальное состояние коллекции после создания - пустая коллекция.
А нормальное состояние стеллажа после создание - Х пустых полок. Видишь разницу?
Ты предлагаешь:
Это не я предлагаю - это ты так думаешь.
Я же просто читаю готовую конфигурацию из одного файла.
нее, долго...
Два вечера на базовую идею - это долго?
но жирно сильно будет.
------
У нас действительно разный подход.
Потому что для меня - Удобный Редактор - это редактор в котором Я пользуюсь всеми привычными вещами. Например - драг&дроп селектнутой части.
Я пользуюсь
И заказчик пользуется.. разницу видишь?
Хотя и "для себя" я бы тоже не делал. Редактор нужен один единственный раз. "Извращения" типа драг/дропа нафиг не нужны.
Всё что не заказано - не делается. Заказано - что бы стеллажи были конфигурируемые.
Видишь разницу?
-----
Вижу то, что Х - внешний, по отношении к коллекции. А при исходном Х = 0 - имеем аккурат пустую коллекцию. Какой она и должна быть в исходном состоянии. Дальше можно ее заполнять Х != 0 полок.
А вот какое-то хранилище для стелажей - нужно. И таки оно будет изначально пустым.
Дальше - читай файлик и заполняй нужными полками.
Два вечера
-----
Два вечера? А что будет готово через два вечера?
Мне вот до зарезу надо редактировать свойства в конфигураторе шаблонов форм... и либо иметь удобный тоол, либо встроить это в Студию. За два вечера Я не успею даже описать корректную иерархию данных, не то, что сделать редакторы по месту. А ведь завтра будет новый шаблон и новые зависимости между элементами... а написать их нужно сейчас.
И заказчик пользуется..
-----
Когда Я почти месяц сидел с доками и нудно описывал все документированные элементы - мой шеф был сильно недоволен "задержкой".
Но когда оно заработало - стал сильно довольный.
Самое приятное - обучение работе с прогой, а текучка на вводе имеется, практически не отличается от обучения работе с остальным комплексом софта - обьяснили какие элементы бывают в изделии - вот с этим "заказчик" и будет работать... только форма для ввода не размазана полями по экрану, а вертикально-линейная, с исключением незаполняемых полей.
Плюс - версионность.
Так что не всегда закзчик прав. Хотя правее его - нету.
Мне вот до зарезу надо редактировать свойства
на бери
https://www.codeproject.com/Articles/520253/ASP-NET-Proper...
Два вечера? А что будет готово через два вечера?
Две формы. Могу скрины кинуть, но WPF тебе бестолку как и сам принцип.
Про Х что не дошло, что ты имеешь в виду.
Заказано - что бы стеллажи были конфигурируемые.
-----
Ну так воткни редактируемый грид, заполни построчно количество полок и скинь в файл.
Потом подцепишь его как энтити и больше тебе ничего делать не надо.
Правда Я бы всеже положил прокладку между гридом и файлом там все одно когда-то придется влезать и переделывать между файлом и базой.
Ну так воткни редактируемый гридну и как я энто в грид воткну?
на бери
-----
Оно не умеет ничего из того что мне надо.
Ситуация следующая: есть шаблон, есть некоторый источник данных и есть желаемая конфигурация.
Возможная желаемая конфигуация определяется тем, какие версии шаблона доступны (и какие там использованы ключи/свойства) и тем, какие именно данные в источнике. Ни первое, ни второе на сейчас неизвестны.
И чтобы было вкусно - даже в рантайме с фактическим набором шаблонов и живыми данными нет гарантии получения всех возможных параметов конфигурации.
Это - примерно.
ну и как я энто в грид воткну?
-----
А что это такое? если это стелажи с полками, то тебе предлагается это не делать, а сделать один редактируемый грид в котором строка = стелаж, а содержимое - количество полок. Тупо построчно текстом количество полок.
А то, что ты привел - отрисуешь уже по результатам.
Первоначально было - Мне вот до зарезу надо редактировать свойства
А то что надо похоже абсолютно другое
Оно не умеет ничего из того что мне надо.
если это стелажи с полками
Угу.
Есть только один маленький ньюанс - стеллажи расшариваются между машинами по сетке. И если стеллаж меняется, то все машины должны вручную обновится.
А то что надо похоже абсолютно другое
-----
Обычные свойства в конфигурации.
Я, правда, опустил многие моменты - часть из них иерархичны, часть - взаимозависимы, ну общее количество со связями на экран не вмещается.
Ничего сложного, за исключением того, что через полгода-год автор шаблона уже не помнит какие варианты он обработал, а какие так и не осилил.
все машины должны
-----
Стоп-стоп-стоп...
Мы какую задачу рассматриваем?
как задать количество стелажей с определенным количеством полок на каждом?
Или как выполнить нотификацию об изменении конфигурации, включая выключенные компы?
Вот и решай одну задачу за раз.
Читай правильно - то все машины должны вручную обновится.
То бишь после нажатия кнопы "обновить" перечитать файл описания стеллажа. А не менять данные ручками на каждой машине.
Ну и 10 раз набирать одно и тоже.... ведь там не только количество полок.
ведь там не только количество полок.
------
Опять - СТОП.
Ты пишешь - стелажи (и количество полок?) надо редактировать отдельно.
Простой вариант тебе предложен.
Куда и как дальше - отдельная тема.
Пока же тебе предлагается в гриде вбить количество полок и скинуть в отдельный xml-файл... ну или в базу.
Имеете ввиду что то типа этого?
см. аттач
То бишь в коде нужно будет накидывать все элементы, делать самому выбор одного из них, а потом еще передавать туда "двухмерный" массив с данными
не нужно :)
Это просто не канает. Пользователю будет показан текст, но ему еще нужно/можно вводить некие дополнительные данные.
Ну это уже можешь сделать так, как тебе надо ;)
Простой вариант тебе предложен.
Вариант проще некуда, с валом недостатков.
Вот еще один как обеспечить одинаковость стеллажей?