![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| DenWPF |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
Есть задача.
При биндинге в datagrid нужно проверять, если картинка существует, отобразить её, если нет, то отобразить стандартную картинку. Я уже как только не пробывал. Картинки хранятся относительно главного .xap /images/
pathImage - полный путь к картинке к примеру http://localhost:65051/ClientBin/images/sm_butter_cake.jpg если использовать File.exist то всё время возвращает false. пробую такой конвертер.
хелп. |
||||
|
|||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 13 Всего: 59 |
Попробуй сделать иначе. Размести Image с дефолтовой картинкой, поверх него размести Image с динамической картинкой. В том случае когда динамической картинки не существует на сервере, Image будет прозрачным и сквозь него будет видно дефолтовую картинку. Чтобы не грузить зря два Image, можно еще (на всякий случай) в бленде поиграться с визибилити для этих Image основанных на результате загрузки динамической картинки, хотя... кажется это не имеет смысла.
-------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
Всё гениальное просто, но есть большой минус, если к примеру у меня картинка png то надо убивать прозрачность.
И если картинок много и грузятся долго, то получиться что в начале картинка КАРТИНКИНЕТ, а потом появятся, наверное есть вариант сделать ЛЖЕ загрузку, сделать какой то эффект при Load. |
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 13 Всего: 59 |
Это верно.
Тогда вышесказанное, нужно сделать необходимым. Сначала обе картинки колэпсид, затем, основываясь на результате загрузки, показывать одну из них. Правда сейчас, сходу, я не могу сказать как проверить результат загрузки, но надеюсь, что это возможно. -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
Проверять пиксели, если есть цвета то загружен, только куда это пихнуть))
|
|||
|
||||
| Brilona |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 8.7.2008 Репутация: 2 Всего: 3 |
А нельзя ли использовать событие ImageFailed? Если оно произошло, то Image.Source присваивать путь к дефолтной картинке.
|
|||
|
||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
Пример можешь привести
|
|||
|
||||
| Brilona |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 8.7.2008 Репутация: 2 Всего: 3 |
Если указанный в Source файл не существует, то будет отображаться default.png |
||||
|
|||||
| -Mikle- |
|
||||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 13 Всего: 59 |
В бленде за пару минут сделал и даже не понадобилось второй картинки как я говорил выше. Сделал по событию ImageFailed.
Скармливаешь объекту image свою картинку, если ее нету или она не валидна, выставляется дефолтовая imageFailed.png Добавлено через 1 минуту и 29 секунд Опередили, но суть в моем примере такая же, только декларативно. Добавлено через 3 минуты и 14 секунд Вот еще две кнопки тестирующие, тоже декларативно.
-------------------- Если тебе плюют в спину, значит ты впереди... |
||||
|
|||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
в бленде сила)
|
|||
|
||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
Не сильно работает ))
Если картинка есть, то показывается, если её нет ил что то не так, то не чего не показывается. И если не сложно, объясни как в бленде делать то что ты сделал. "<i:Interaction.Triggers>"
|
|||
|
||||
| -Mikle- |
|
||||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 13 Всего: 59 |
Работает отлично, я же проверял.
Добавлено через 1 минуту и 50 секунд
Это лучше тебе пару уроков посмотреть по бленду. Вроде все не сложно, но не знаю как сформулировать правильно, чтоб ты понял. Придется скрины нарезать или видео заснять, а времени на это у меня нет. -------------------- Если тебе плюют в спину, значит ты впереди... |
||||
|
|||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
Все тот же эффект, даже не дергается когда картинки нет.
Пишу под SL4 А какими видео ты пользуешься? |
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 13 Всего: 59 |
Никакими. Я привык осваивать все интуитивно, для меня это быстрее, чем искать и смотреть видео. За помощью в гугл лезу, только если немогу в течение пары десятков минут сделать то, что я хочу. Вот тебе проект. Возможно, ты не видишь эффекта потому, что хочешь его быстро получить. После нажатия кнопки "НЕ правильная" проходит определенное время (1-3 секунды) прежде, чем появится no image. Это связано с тем, что невозможно получить мгновенный результат из интернета. Идет запрос и Image ожидает ответа. Присоединённый файл ( Кол-во скачиваний: 3 )
SilverlightApplication1.zip 87,50 Kb-------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
Нашел проблему, если при байдинге null. то не будет работать.
Пришлось все таки использовать конвертор, что бы проверять если null то возвращать http://images/rrr.jpg )) и даже лучше, что бы не ждать пока определит есть ли по пути картинка, путь нужно сделать без http, т.е локальный, т.е я вообще возвращаю "abracadabra". Это сообщение отредактировал(а) DenWPF - 9.6.2011, 15:24 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |