Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Автоматический скроллинг ListView, нужно "держать" строку посередине 
V
    Опции темы
dAlex
Дата 24.1.2011, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 3.8.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 2



Попробую сейчас точнее объяснить, чего хочет начальник  smile 
Есть у нас ListView, туда постоянно что-то добавляется в начало и в конец. Также у нас есть некое текущее значение, оно меняется с каждым действием, но необходимо, чтобы визуально оно было всегда в середине, что бы куда не добавлялось. То есть нужно как-то скроллить его прямо из кода. Как это сделать?

Добавлено через 6 минут и 25 секунд
ps а как изменить название темы? не заметила косяка при ее создании
--------------------
eof()
PM WWW ICQ GTalk Jabber   Вверх
Kaerus
Дата 24.1.2011, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WPF'er
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 3.9.2010

Репутация: 1
Всего: 1



ListView.ScrollIntoView - пробовал?
PM MAIL ICQ   Вверх
vikaz
Дата 24.1.2011, 18:40 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 1
Всего: 12



 smile 
Цитата(Kaerus @  24.1.2011,  19:12 Найти цитируемый пост)
ListView.ScrollIntoView - пробовал? 

Или ошибка, или dAlex девушка! smile
Цитата(dAlex @  24.1.2011,  14:59 Найти цитируемый пост)
не заметила косяка при ее создании



Это сообщение отредактировал(а) vikaz - 24.1.2011, 18:41


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
dAlex
Дата 25.1.2011, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 3.8.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 2



Kaerus, спасибо, вроде бы по описанию то, что нужно, надо попробовать =)

vikaz, да, так и есть =))
--------------------
eof()
PM WWW ICQ GTalk Jabber   Вверх
dAlex
Дата 3.2.2011, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 3.8.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 2



делаю вот так (со всеми проверками, конечно)

Код

StrikesTableList.ScrollIntoView(StrikesTableList.Items[_Cnum + 2]);


не мотает ничего :-?
--------------------
eof()
PM WWW ICQ GTalk Jabber   Вверх
Kefir
Дата 4.2.2011, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 22
Всего: 87



dAlex, даже если ничего не мотает, то по приведенной вами строке всё равно ничего понять невозможно. Развёрнутее пишите, чего не мотает, что происходит и так далее. Не ленитесь smile
PM MAIL WWW Skype   Вверх
dAlex
Дата 4.2.2011, 08:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 3.8.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 2



Kefir, хорошо =)
Есть список грубо говоря каких-то цен, который постоянно обновляется, цена может добавиться сверху, может добавиться и в конец списка. И есть всегда какое-то значение (в любом месте), которое является текущим. Мне нужно, чтобы оно было в зоне видимости (ну, в идеале посередине). Cnum это как раз и есть номер текущего элемента, а +2 - чтобы был виден и он и еще 2 после него, как раз должно получиться примерно посередине (по размеру ListView).
Вот эту строку
Код

StrikesTableList.ScrollIntoView(StrikesTableList.Items[_Cnum + 2]);

Пишу как раз в функции, где происходит добавление новых элементов.
--------------------
eof()
PM WWW ICQ GTalk Jabber   Вверх
dAlex
Дата 7.2.2011, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 3.8.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 2



что-то не могу понять зависимости - надо в качествен параметра указывать элемент, который будет последний виден внизу списка или наверху?
--------------------
eof()
PM WWW ICQ GTalk Jabber   Вверх
dAlex
Дата 8.2.2011, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 3.8.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 2



вроде работает, пришлось сделать так

Код

  Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Background, (System.Windows.Threading.DispatcherOperationCallback)delegate(object arg) 
            {            
              if (_Cnum + 2 >= StrikesTableList.Items.Count - 1)
                {
                    StrikesTableList.ScrollIntoView(StrikesTableList.Items[_Cnum + 2]);                 
                }
                return null; 
            }, null);

--------------------
eof()
PM WWW ICQ GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0461 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.