Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > WPF, UWP, WinRT, XAML
Регистрация

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

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

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

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

Цитата:
Сообщение от 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, 10:04   #4
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 14,817
Репутация: 2903

icq: 512-7шесть5
skype: alexp.frl
По умолчанию

Цитата:
Сообщение от Auratos Посмотреть сообщение
на основной форме привязка к Source идет на самой форме
Этот биндинг находится в DataTemplate. Там описание содержимого элемента для листбоксов и т.п.
Скорее всего для того листбокса, который в
Код:

<Grid DataContext="{Binding Source={StaticResource Photos}}"

Так что вам надо не трогать Source, а обновлять элементы в Photos.

Я б советовал почитать что-то про WPF, чтоб разобраться с биндингами и т.п., это ж одна из основных его фишек.
Например я когда-то читал Matthew MacDonald "Pro WPF in C#".
Alex11223 вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Редактирование XML-datagrid в WPF и паттерн MVVM - C# WPF Vic Rad WPF, UWP, WinRT, XAML 1 18.08.2017 13: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 05:47
Просмотр PNG изображений dimfil Компоненты Delphi 1 05.12.2007 19:16




05:52.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru