Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > как скопировать Items из ListView


Автор: San4o_Pan4o 28.9.2009, 20:20
Собственно такая задача передо мной возникла и требует скорейшего решения(( Есть у меня ListView (основной) и ListBox (второстепенный, всплывающий по требованию). В ListView валятся, к примеру, фотки. Я хочу по двойному клику на фотке открыть ее в этом ListView крупно (подменить шаблон и ItemsSource сделать из 1 элемента), а все остальные фотки скопировать в ListBox, который отвечает за предпросмотр. Вот скопировать почему-то не получается:( Просто сделать ListBox.ItemsSource = ListView.Items не пойдет, потому что потом у ListView в айтемах становится одна фотка и ListBox тоже одну отображает:( Идеи?
Вот код с неудачной попыткой копирования  (main_ListView - отсюда надо вырвать фотки и вставить в preview_ListBox):
Код

if (mlvi.Type == "photo-doc")
{
  //вот тут проблемы с "копированием" фоток в нижний ListBox
    IList items = main_ListView.Items;
  preview_ListBox.ItemsSource = items;
  AnimateGridRow(lower_center_previewPanel, 0, 150, .2);
  main_ListView.ItemsSource = dataCom.GetItem(((Border)sender).Tag.ToString(),ItemsListCreationParams.ExpandDoc);
}

Автор: Любитель 28.9.2009, 21:57
Во-первых - если честно, то, что ты написал вообще не фига не понял, что ты делаешь, но - насчёт вот этого:
Цитата(San4o_Pan4o @  28.9.2009,  20:20 Найти цитируемый пост)
подменить шаблон и ItemsSource сделать из 1 элемента

На мой взгляд, неудачное решение. Сделай имадж, с ZIndex-ом большим, чем у твоего лист-вью (ну и в один грид-лейаут их засунь) хайдь/показывай его, когда надо. Можно через анимацию.

Автор: Partizan 28.9.2009, 22:04
я так понимаю, в xaml выставлен Binding между ListBox и ListView?

Автор: San4o_Pan4o 29.9.2009, 03:37
в XAML Binding не выставлен, все делает кодингом. Binding только в шаблонах данных для элемента ListView/ListBox на поля специального класса. Коллекции же данных я получаю с сервера динамически и подсовываю их в ItemsSource.

Добавлено через 9 минут и 11 секунд
Цитата

Во-первых - если честно, то, что ты написал вообще не фига не понял, что ты делаешь, но - насчёт вот этого:
Цитата(San4o_Pan4o @  28.9.2009,  20:20 Найти цитируемый пост)
подменить шаблон и ItemsSource сделать из 1 элемента

в смысле по умолчанию у меня шаблон данных элемента ListView позволяет прикреплять картинку 100х100 пикселей. Но при переходе в режим просмотра я хочу показывать картинку крупнее, добавить кнопки редактирования и зуммирования и т.п. Кстати, может ты и прав насчет ZIndex'а, но вопрос еще открыт.

Автор: San4o_Pan4o 10.10.2009, 08:58
до сих пор не сдвинулся с мертвой точки в этом вопросе..

Автор: KelTron 10.10.2009, 16:31
Ну логично будет грузить данные не сразу в контролы, в буферную коллекцию, а потом её биндить к контролам...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)