|
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
|
|
Склейщик фото (создание MVVM приложения)29.04.2019, 16:36. Показов 9167. Ответов 162
Метки нет (Все метки)
Тема создана как продолжение тем:
Привязать данные к кнопке System.Windows.Data Error: 40 Открыть 2 картинки, переместить, записать координаты используя команду с параметрами ScrollViewer по вертикали и горизонтали После выбора файла в диалоговом окне, разместить изображение из файла в canvas Подключить класс Bitmap Элд Хасп, я хотел бы после загрузки первого фото, поворачивать её и перемещать, в специальной графе будут отображаться начальные координаты первого фото (левого верхнего угла), и чтоб при загрузки они всегда были бы в верхнем левом углу, потом загружаю второе фото(в специальном месте отображаются координаты 2-ого фото левого верхнего угла), хотел бы так же поворачивать (сейчас после загрузки второго фото поворачиваются 2 картинки, а не вторая), и в специальном месте отображать смещение второго фото по сравнению с первым (так же, по левому верхнему углу). Я не очень понял на счет размеров, я хотел бы чтобы фото отображались во всю величину, но я не буду знать какого фото будут размера. Сейчас приложение ведет себя очень странно, копки стали действительно активны, спасибо! Но когда я пытаюсь их сдвинуть, значение меняется в Text="{Binding Offset}", только не обычно, влево/право - целые числа, а вверх/вниз меняются, сотые этого числа, при этом картинки сами не двигаются, ни первая, ни вторая...Добавлено через 2 минуты Элд Хасп, когда запускаю приложение, кнопка вверх и влево не активны, они становятся активны если кликнуть вправо/вниз Добавлено через 1 минуту Элд Хасп, задав жестко размер картинке, она деформируется
0
|
|
| 29.04.2019, 16:36 | |
|
Ответы с готовыми решениями:
162
Структура WPF приложения на MVVM
Паттерн MVVM или как писать приложения на WPF |
|
Модератор
|
|
| 04.05.2019, 16:22 | |
|
ShmelVG, Я пока занят. Возможно позже продолжу. Или завтра.
Подберите пока рисунки под кнопки поворота (круговая стрелка) и направление смешения (стрелка). И разберите то, что уже сделано.
0
|
|
|
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
|
|
| 04.05.2019, 17:12 [ТС] | |
|
Добавлено через 26 минут
Элд Хасп, я посмотрел вложение, но кнопки так же не реагируют и при точке останова не заходит даже туда((
0
|
|
|
Модератор
|
|||||||||||||||||
| 04.05.2019, 20:05 | |||||||||||||||||
|
Теперь для обработки значений поворотов надо создать WPF конвертер который может возвращать абсолютное значение и знак значения. Конвертер создаём в библиотеке.
0
|
|||||||||||||||||
|
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
|
|
| 04.05.2019, 20:12 [ТС] | |
|
Элд Хасп, мне стало не много легче, а то я уже нервничать начал)
Добавил во вью стили только для кнопок поворота и добавил фото, но фото не отображаются у меня в приложении, хотя путь указан правильно...пробовал копаться в свойствах фото, но ничего не вышло( Теперь выглядит ужасно)) PhotoGluer.rar
0
|
|
|
Модератор
|
||||||||||||
| 04.05.2019, 23:27 | ||||||||||||
|
Сейчас закончим с дизайном панели управление. Остались кнопки перемещения. Использую такую иконку Стиль кнопок
В нём немного изменил некоторые стили. Доведите дизайн панели управления до нужного Вам: размеры и расположение кнопок, размеры текста, цвета и т.д. Как доведёте скиньте проект и продолжим дальше - начнём создавать VMDD.
0
|
||||||||||||
|
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
|
|
| 05.05.2019, 22:47 [ТС] | |
|
Элд Хасп, мне очень жаль что я только сейчас пишу, я часов 6 убил на обновление VS17 , начал обновлять из-за того, что не перестал читать библиотеку с последнего Вашего проекта, но после обновления проблема не ушла, мне понравился дизайн, но возникли ошибки, которые я не знаю как исправить, проект запускается, но вместо стрелок, старые надписи (вверх/вниз/влево/вправо).
Во view ошибка <ResourceDictionary Source="PhotoGluerDict.xaml"/> - "произошла ошибка при поиска словаря ресурсов PhotoGluerDict.xaml", а в самом словаре ругается на первый знак "<" <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" .... и подчеркивает <commlibrary:AngleRotateConverter x:Key="AngleRotateConverter"/> - Имя AngleRotateConverter не существует в пространстве Имен "clr-namespace:CommLibrary;assembly=CommLibra ry".В обозревателе решения библиотека CommLibrary (сбой загрузки) - не удается загрузить файл проекта. Добавил вручную dll в ссылки рабочего проекта, сначала был желтый треугольник, удалил - загрузил заново (из папки Debug), значек желтый исчез, но проблема так осталась... Добавлено через 1 минуту Вручную загружал из ...\CommLibrary\bin\Debug\CommLibrary.dllДобавлено через 5 минут Когда в обозревателе решения кликаю на CommLibrary - Перезагрузить проект, то возникает ошибка - ...\PhotoGluer v1\PhotoGluer\CommLibrary\CommLibrary.cs proj перемещен , переименован или отсутствует на компьютере. Пробовал удалять весь проект и заново скачивать, но ничего не помогло(
0
|
|
|
Модератор
|
||
| 05.05.2019, 23:21 | ||
|
А Студию использовал 2019, но из-за этого не должно быть ошибок. Добавлено через 4 минуты Действительно - архив не запускается! Сейчас перепакую проект. И заново выставлю.
1
|
||
|
Модератор
|
|
| 05.05.2019, 23:44 | |
|
ShmelVG, ещё такой нюанс есть.
Так как изначально приложение делалось только для View, то для простоты я слил Модель с ViewModel. Из-за этого реализация MVVM получилась скомканная. Я то понимаю где в ViewModel её методы, а где методы относящиеся к Model. Вот теперь вопрос к Вам - как лучше дальше делать? Для ясного понимания (и, соответственно, получения учебного опыта) лучше Модель явно выделить. Но так получится сложнее в реализации, так в данном случае Решение в основном нацелено на визуальную часть. Решите какой вариант реализации выбрать.
0
|
|
|
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
|
||||||
| 06.05.2019, 09:18 [ТС] | ||||||
|
Элд Хасп, Всё работает) Спасибо! Как было бы правильно в рамках MVVM? Мне кажется что лучше выделить модель, да и я так больше запомню) Хотел ещё у Вас спросить по поводу библиотеки, класс
AngleRotateConverter - класс для поворота картинки, я не очень понял для чего .Contains("ABS")) и .Contains("SIGN")) и для чего метод ConvertBack и почему так много принимает параметров метод Convert?Потом класс BooleanToVisibilityConverter, спасибо за комменты , но если честно тоже не понял для чего он и что он конвертирует? Как я понял, можно вызывать метод Convert/ConvertBack и скрывать/показывать элемент? Ведь для видимости есть другие методы.Класс ErrorTextConverter аналогичные вопросы)
И класс SimpleMultiConverter из названия конечно можно догадаться, но для чего все эти конвекторы?
0
|
||||||
|
Модератор
|
||
| 06.05.2019, 10:29 | ||
|
Если останутся вопросы - напишите.
1
|
||
|
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
|
|
| 06.05.2019, 10:32 [ТС] | |
|
Элд Хасп, теперь делается MainVM?
0
|
|
|
Модератор
|
||
| 06.05.2019, 10:36 | ||
|
В Вашем приложении пока нужен только AngleRotateConverter - я его специально и создавал под это приложение.
Может быть понадобится BooleanToVisibilityConverter. С ещё меньшей вероятностью SimpleMultiConverter. ErrorTextConverter делал под определённый проект - он точно не пригодится. Они все просто находились у меня в библиотеке и я скопировал целиком библиотеку. Добавлено через 2 минуты Она нужна для отладки View. Но сейчас придётся сначала вернуться назад Мне кажется что лучше выделить модель, да и я так больше запомню. У нас нет полноценной Модели. Есть два типа для Модели, но саму Модель ещё создать надо.
1
|
||
|
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
|
||||
| 06.05.2019, 10:43 [ТС] | ||||
|
Элд Хасп,
Добавлено через 27 секунд
0
|
||||
|
Модератор
|
||||
| 06.05.2019, 10:49 | ||||
|
Используется он в стиле кнопки с круговой стрелкой. Если знак числа -1 (для этого параметр = sign), то картинка (круговая стрелка) зеркально отражается.А в центре картинки выводится само число без знака (для этого параметр = abs).Само же число привязывается к параметру команды и метод получит размер угла на который надо повернуть. В результате получаем очень удобное определение для кнопок поворота. Достаточно в Content указать нужный нам угол и всё остальное происходит автоматически: стрелка поворачивается как надо, отображается размер угла и в параметр команды передаётся нужное значение. Добавлено через 2 минуты Но пока надо с Моделью разобраться. Но я обычно это делаю уже после окончательного создания приложения. Проверяю весь код, удаляю мусор, добавляю комменты и т.д.
1
|
||||
|
Модератор
|
||
| 06.05.2019, 11:35 | ||
Сделайте, что сможете, сами и сбросьте результат.
0
|
||
| 06.05.2019, 11:35 | |
|
Склейщик MVVM и динамическое создание контролов MVVM и создание диалоговых окон Создание интерфейса в паттерне MVVM Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс
Ссылка на сгенерированную музыкальную композицию:
https:/ / suno. com/ song/ 6f6e5464-b290-4650-be6c-44c85f8d8013
Я говорю, что Время- как вода
течет. . .
|
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла:
Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
|
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет
Салют, шампанское, овации!
:drink:
|