Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2017, 08:05   #1
Auratos
Пользователь
 
Регистрация: 01.06.2015
Сообщений: 20
По умолчанию WPF Просмотр и редактирование изображений

Добрый день. Скачал я пример с MSDN под название WPF Photo Viewer Demo (ссылка). Решил взять оттуда наработки для своего проекта, попутно выкидывая то, что мне не нужно. Но наткнулся на проблему такого рода: в этом проекте две формы. На основной происходит отображение картинок из каталога. При двойном клике по картинке или из контекстного меню вызывается вторая форма, где можно отредактировать текущее выделенное изображение. Редактируется все хорошо. Но при закрытии этой второй формы на основной форме не видно произведенных изменений. Если снова перейти к редактированию картинки, то редактирование видно, что сохранилось. Подскажите, пожалуйста, как максимально просто и быстро можно сделать так, чтобы и на главной форме были видны эти изменения? Просто сам я только недавно начал работать с WPF. Поэтому пока все делаю долго, может быть вы, так сказать, ткнете, куда копать и что прочитать.
На всякий случай прикладываю мой проект, более упрощенный.
Вложения
Тип файла: zip WPF Photo Viewer Demo1.zip (872.1 Кб, 20 просмотров)
Auratos вне форума Ответить с цитированием
Старый 13.10.2017, 10:30   #2
ZnZ
Пользователь
 
Регистрация: 14.06.2017
Сообщений: 45
По умолчанию

Возми Source картинки из второй формы, и установи у картинки первой формы тип так
Image1.Source = Image2.Source
ZnZ вне форума Ответить с цитированием
Старый 16.10.2017, 07:59   #3
Auratos
Пользователь
 
Регистрация: 01.06.2015
Сообщений: 20
По умолчанию

Цитата:
Сообщение от ZnZ Посмотреть сообщение
Возми Source картинки из второй формы, и установи у картинки первой формы тип так
Image1.Source = Image2.Source
До этого выбранное изображение вот так передавалось на вторую форму:
Код:
PhotoView pvWindow = new PhotoView();
pvWindow.SelectedPhoto = (Photo)PhotosListBox.SelectedItem;
pvWindow.Show();
А там уже был метод Rotate:
Код:
BitmapSource img = (BitmapSource)(_photo.Image);
CachedBitmap cache = new CachedBitmap(img, BitmapCreateOptions.None, BitmapCacheOption.OnLoad);
_photo.Image = BitmapFrame.Create(new TransformedBitmap(cache, new RotateTransform(90.0)));
ViewedPhoto.Source = _photo.Image;
Я перенес данный метод на основную форму:
Код:
Photo temp = (Photo)PhotosListBox.SelectedItem;
BitmapSource img = (BitmapSource)(temp.Image);
CachedBitmap cache = new CachedBitmap(img, BitmapCreateOptions.None, BitmapCacheOption.OnLoad);
temp.Image = BitmapFrame.Create(new TransformedBitmap(cache, new RotateTransform(-90.0)));
Подскажите, пожалуйста, как правильно реализовать ваш совет. Что-то я немножко запутался, т.к. на основной форме привязка к Source идет на самой форме
Код:
<Image Source="{Binding Source}" Stretch="Uniform"/>
Auratos вне форума Ответить с цитированием
Старый 16.10.2017, 09:04   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Auratos Посмотреть сообщение
на основной форме привязка к Source идет на самой форме
Этот биндинг находится в DataTemplate. Там описание содержимого элемента для листбоксов и т.п.
Скорее всего для того листбокса, который в
Код:
<Grid DataContext="{Binding Source={StaticResource Photos}}"
Так что вам надо не трогать Source, а обновлять элементы в Photos.

Я б советовал почитать что-то про WPF, чтоб разобраться с биндингами и т.п., это ж одна из основных его фишек.
Например я когда-то читал Matthew MacDonald "Pro WPF in C#".
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Редактирование XML-datagrid в WPF и паттерн MVVM - C# WPF Vic Rad WPF, UWP, WinRT, XAML 1 18.08.2017 12:00
WPF + C# Подгрузка изображений в память, без блокирования файлов изображений fezilk25 C# (си шарп) 0 02.01.2014 11:28
Просмотр изображений Symple me C++ Builder 0 26.01.2013 07:54
просмотр изображений gulfiyush Общие вопросы Delphi 9 10.12.2007 04:47
Просмотр PNG изображений dimfil Компоненты Delphi 1 05.12.2007 18:16