locked
Двусторонний скроллинг с подгрузкой данных RRS feed

  • Вопрос

  • Доброе время суток, 

    Вопрос необычайной важности. Каким именно образом можно реализовать двусторонний "бесконечный" скроллинг календарных месяцев с подгрузкой данных из XML базы данных (например прокрутка месяцев Windows.Live.Calendar в новом windows 8). Интересует метод создания скролла в две стороны, не GridView списком же. Посоветуйте пожалуйста вариант реализации сего действия. 

    Заранее извиняюсь за непонятность изложения, ночь у меня, голова не работает как следует.

    • Перемещено Yubo. Zhang 14 сентября 2012 г. 9:06 (От:Приложения Windows в стиле Metro)
    3 сентября 2012 г. 20:17

Ответы

  • У GridView и ListView (ListView наверное вам больше подходит) есть стандартный механизм подгрузки данных по мере необходимости, но он скорее всего не подойдет для двусторонней загрузки данных. В любом случае попробуйте посмотреть - ISupportIncrementalLoading (пример)

    Вам же скорей всего нужно самостоятельно отслеживать событие изменения скрола и по мере достижения начала/конца списка загружать данные дальше. Т.е. размещаете ListBox в ScrollViewer, далее подписываете у scrollViewer на ViewChanged и проверяете VerticalOffset.


    Для связи [mail]

    • Помечено в качестве ответа nonspy 5 сентября 2012 г. 13:42
    5 сентября 2012 г. 7:40

Все ответы

  • У GridView и ListView (ListView наверное вам больше подходит) есть стандартный механизм подгрузки данных по мере необходимости, но он скорее всего не подойдет для двусторонней загрузки данных. В любом случае попробуйте посмотреть - ISupportIncrementalLoading (пример)

    Вам же скорей всего нужно самостоятельно отслеживать событие изменения скрола и по мере достижения начала/конца списка загружать данные дальше. Т.е. размещаете ListBox в ScrollViewer, далее подписываете у scrollViewer на ViewChanged и проверяете VerticalOffset.


    Для связи [mail]

    • Помечено в качестве ответа nonspy 5 сентября 2012 г. 13:42
    5 сентября 2012 г. 7:40
  • Спасибо огромное, я перекопал возможные варианты с ListView уже давно, и отмёл его. Может быть есть сколь-нибудь изящное решения отображения календарных дней месяца без обращения к базе? Если я, к примеру, хочу отскроллить с сегодня по 2216 год, мне каждый отображаемый месяц надо вызывать через функцию с Windows.Globalization.Calendar() или  есть готовый шаблон календаря (или чтото вроде того)?
     
    5 сентября 2012 г. 13:52
  • Да не, вроде все правильно. 

    Контрола стандартного для выбора даты/времени пока еще нет, со временем появится, как это было в wpf/silverlight. Есть уже бета версия контрола от Telerik - Date Selection in Metro Style

    Пример работы с календарем есть тут - Calendar details and math sample


    Для связи [mail]

    6 сентября 2012 г. 6:44