Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как заставить ListView обновить ( перечитать ) ItemCollection? / 14 сообщений из 14, страница 1 из 1
04.09.2010, 22:54
    #36829917
gogo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить ListView обновить ( перечитать ) ItemCollection?
Решил перейти на Wpf c Window Form.
1.
Нарисовал в XAML ListView.
Забиндил его на на мою коллекцию: listView.ItemsSource = MyCollection;
Все прекрасно запускается - высвечиваются все элемнты коллекции.
Но при добавления нового элемента в коллекцию, обновления списка не происходит.
Проверяю _listView.Items.Count - он увеличивается. Но как мне тперь сказать Refresh
списку, чтобы он высветил и новые элементы.

2.
Как в WPF добавить в ListView новый элемент.
Прежний механизм Windows.Form:

ListViewItem lvi = new ListViewItem("sfsf");
lvi.SubItems.Add("11");
lvi.SubItems.Add("12");
_listView.Items.Add(lvi);

в Wpf уже использовать нельзя, а какой в WPF механизм добавления нового item в ListView.

Если можно, дайте ссылку на пример кода.

Спасибо за ответ.
...
Рейтинг: 0 / 0
05.09.2010, 10:48
    #36830049
eJack
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить ListView обновить ( перечитать ) ItemCollection?
gogo,

1. На до в биндинге прописать режим который подходит вам BindingMode - почитайте про него.
2. Добавлять элементы надо не в Listview а в колекцию к которой он прибинден
...
Рейтинг: 0 / 0
05.09.2010, 11:36
    #36830066
gogo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить ListView обновить ( перечитать ) ItemCollection?
Спасибо за ответ.

Но я же написал в своем посте:
1. Я ДОБАВЛЯЮ обьекты в коллекцию обьектов MyCollection
2. После добавления обьекта в коллекцию MyCollection, я читаю счетчик ListView.Items.Count - он увеличивается. То есть в результате добавления моего нового объекта в MyCollection в результате биндинга ПРОИЗОШЛО добавление элемента ListViewItem в коллекцию ListView.Items. Но ListView в окне не ОБНОВЛЯЕТСЯ - не высвечивает новых элементов.

Вопрос как раз об этом: Элемент в колекцию ListView.Items попал, но сам список в окне высвечивает прежнее количество элементов, т.е. не обновился. Что я должен написать чтобы сделать Refresh списку? Или какое свойство определить, чтобы сам список обновлялся при добавлении элемента в обьектную коллекцию пользователя?
...
Рейтинг: 0 / 0
05.09.2010, 14:57
    #36830169
gogo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить ListView обновить ( перечитать ) ItemCollection?
Оказывается почти почти все С# коллекции не поддерживают обновление представления UI при измении коллекции обьектов( в частности в LIstVew ) . Единственная WPF коллекция, которая поддерживает обновление - ObservableClollection.

Мда -в- а!: "Microsoft in Action" - А если у вас есть мегабайты кода предметной области отделенного от представлений UI в виде многочисленных сборок, в котором используются стандартные коллекции С#, да еще производные от этих классов и т.д.
Так что, - это все нужно переделывать под WPF?, а потом Microsoft новую технологию придумает с такой же "совместимостью". Ну и НУ.
...
Рейтинг: 0 / 0
05.09.2010, 15:48
    #36830206
Хопа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить ListView обновить ( перечитать ) ItemCollection?
gogo"Microsoft in Action"

Ну, если гланды через жопу вынимаешь, трудно понять, почему ножницы прямые.
...
Рейтинг: 0 / 0
05.09.2010, 16:23
    #36830229
i see
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить ListView обновить ( перечитать ) ItemCollection?
gogoА если у вас есть мегабайты кода предметной области отделенного от представлений UI в виде многочисленных сборок, в котором используются стандартные коллекции С#, да еще производные от этих классов и т.д.
Так что, - это все нужно переделывать под WPF?, а потом Microsoft новую технологию придумает с такой же "совместимостью". Ну и НУ.ObservableClollection наследует от "стандартной коллекции", потому написать "обёртки", сильно не меняя унаследованный код, не так уж и сложно.
...
Рейтинг: 0 / 0
06.09.2010, 08:06
    #36830742
eJack
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить ListView обновить ( перечитать ) ItemCollection?
i see,

А что мешает тогда вызвать
Код: plaintext
1.
_listView.Items.Refresh();

Надо обновлять не сам контрол а его свойство Items
...
Рейтинг: 0 / 0
06.09.2010, 11:10
    #36831066
i've WPF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить ListView обновить ( перечитать ) ItemCollection?
А кому нужна такая "совместимость"?
gogo
ListViewItem lvi = new ListViewItem("sfsf");
lvi.SubItems.Add("11");
lvi.SubItems.Add("12");
_listView.Items.Add(lvi);

Такие мегабайты лучше выкинуть и забыть.
...
Рейтинг: 0 / 0
06.09.2010, 22:12
    #36832966
Bob Dylan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить ListView обновить ( перечитать ) ItemCollection?
i've WPF,

+ 100 !
...
Рейтинг: 0 / 0
07.09.2010, 12:01
    #36833615
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить ListView обновить ( перечитать ) ItemCollection?
i've WPF,

интересно, а что использовать вместо этих мегабайт и насколько это будет меньше этих мегабайт?
...
Рейтинг: 0 / 0
08.09.2010, 09:36
    #36835138
i've WPF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить ListView обновить ( перечитать ) ItemCollection?
AlexeiKi've WPF,

интересно, а что использовать вместо этих мегабайт и насколько это будет меньше этих мегабайт?
Для начала - WPF, a не Winforms, затем нужен системный слой, тогда и 1C c Искрами не нужны будут.
...
Рейтинг: 0 / 0
08.09.2010, 10:21
    #36835223
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить ListView обновить ( перечитать ) ItemCollection?
i've WPF,

самый размытый ответ, какого я не ожидал.
лучше объектно. в том посте был конкретный объект listview.
что имелось ввиду под упреком? (если конкретно ставить вопрос)
...
Рейтинг: 0 / 0
08.09.2010, 10:25
    #36835233
i've WPF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить ListView обновить ( перечитать ) ItemCollection?
А конкретного ListView не должно быть, для этого есть ObservableCollection
...
Рейтинг: 0 / 0
08.09.2010, 10:34
    #36835256
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить ListView обновить ( перечитать ) ItemCollection?
i've WPF,

ок.
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как заставить ListView обновить ( перечитать ) ItemCollection? / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]