|
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
|
|
Склейщик фото (создание MVVM приложения)29.04.2019, 16:36. Показов 9159. Ответов 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 |
|
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
|
|
| 02.05.2019, 16:19 [ТС] | |
|
0
|
|
|
Модератор
|
||
| 02.05.2019, 17:18 | ||
|
Команда загрузки изображения в VM вызывает диалог для получения имени файла. После получения имени файла вызывает метод LoadImage, передавая ему это имя файла. Если получает исключение из метод LoadImage, то выводит сообщение об ошибке загрузки.
0
|
||
|
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
|
||
| 02.05.2019, 17:26 [ТС] | ||
|
Элд Хасп, вы могли бы показать реализацию этого метода? В итоге я создал класс в модели
ImageModify: OnPropertyChangedClass реализовал все эти св-ва без метода. В VM создал папку commands и в нем 4 класса BooleanToVisibilityConverter, OnPropertyChangedClass, SimpleMultiConverter, RelayCommand. В VM создал класс MainVM в котором буду всё реализовывать что вы писали ранее
Элд Хасп, немного переделал дизайн, сделал 2 кнопки на фото и вместо текстбокса с вводом градусов поворота создал 8 кнопок 4-влево, 4 - вправо
0
|
||
|
Модератор
|
||||||||||||
| 02.05.2019, 17:59 | ||||||||||||
Добавлено через 5 минут Даже так лучше будет - универсальнее
1
|
||||||||||||
|
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
|
||
| 02.05.2019, 18:02 [ТС] | ||
|
Элд Хасп, а imageSourceConverter - это откуда?
Добавлено через 49 секунд Элд Хасп, я просто начал с 0, заново
0
|
||
|
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
|
||||||
| 02.05.2019, 18:03 [ТС] | ||||||
|
Элд Хасп, 2 ошибки в методе, вот модель
Элд Хасп, )) а imageSource откуда?
0
|
||||||
|
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
|
||||||
| 02.05.2019, 18:07 [ТС] | ||||||
|
Элд Хасп, тут ошибка
Source = imageSource; Не удается неявно преобразовать тип "object" в "string". Существует явное преобразование (возможно, пропущено приведение типов).Добавлено через 21 секунду Элд Хасп, но явно преобразовать не получается Добавлено через 37 секунд
0
|
||||||
|
Модератор
|
||||||||||
| 02.05.2019, 18:12 | ||||||||||
|
В первую очередь это не правильная реализация свойств. Нужны же поля где будут храниться значения свойств!
Добавлено через 1 минуту Добавлено через 52 секунды загрузки Добавлено через 1 минуту Сохранение
1
|
||||||||||
|
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
|
||||||||
| 02.05.2019, 20:03 [ТС] | ||||||||
|
Cпасибо) Добавлено через 22 минуты Элд Хасп,
0
|
||||||||
|
Модератор
|
|||||||
| 02.05.2019, 20:06 | |||||||
0
|
|||||||
|
Модератор
|
||||||
| 02.05.2019, 20:10 | ||||||
|
Да, и подумал что для IsSecondSelected лучше тип
boll?
1
|
||||||
|
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
|
|
| 02.05.2019, 20:18 [ТС] | |
|
Элд Хасп, если оставить так, (добавить
bool? SelectedImage), то будет ошибка - Не удается неявно преобразовать тип "PhotoGluer.Models.ImageModify" в "bool?".Добавлено через 27 секунд она была у меня изначально когда я пытался сделать св-во)
0
|
|
|
Модератор
|
|||||||
| 02.05.2019, 20:42 | |||||||
1
|
|||||||
|
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
|
||||||
| 02.05.2019, 20:44 [ТС] | ||||||
|
Элд Хасп, вот на данный момент VM
0
|
||||||
|
Модератор
|
||||||||
| 02.05.2019, 21:03 | ||||||||
Перечислите кнопки, а то у меня восемь не выходит. Или Вы ToggleButton считаете ? Две кнопки - загрузки картинок Одна кнопка - поворота выделенной Четыре кнопки - смещения выделенной И восьмая кнопка?
1
|
||||||||
|
Модератор
|
||||||
| 02.05.2019, 21:06 | ||||||
|
Забыл.
При выделении надо ещё устанавливать свойство IsSelected у выделенной картинки.
1
|
||||||
|
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
|
|||||||
| 02.05.2019, 22:31 [ТС] | |||||||
|
Элд Хасп,
Смещение X,Y ниже 2 кнопки фото 1 и фото 2, напротив текстблок для вывода положения, ниже текстблок Смещение и текстблок для смещения Потом "Повернуть", всего в этом блоке 8 кнопок, две кнопки в ряду: лево 1(град), право 1(град), лево 10(град), право 10(град), лево 45(град), право 45(град), лево 90(град), право 90(град), пока там текст, позже хотел бы найти (или сделать) картинку будто поворот на указанный градус, и ниже 4 кнопки так и остались влево/вправо/вниз/вверх (тоже хотел бы найти или сделать картинку с направлением указателя), было бы очень удобно управлять ещё и стрелками с клавы. Итого: кнопок - 14.
0
|
|||||||
|
Модератор
|
||
| 02.05.2019, 22:37 | ||
|
Свойство Angle привязывать не к свойству VM, а к TextBox напрямую. И смешение также делать. Ввести TextBox'ы для Left и Top. Другой вопрос - а насколько это будет удобно? Без кнопок, просто вводить значения?
0
|
||
| 02.05.2019, 22:37 | |
|
Склейщик MVVM и динамическое создание контролов MVVM и создание диалоговых окон Создание интерфейса в паттерне MVVM Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Почему 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:
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|