Implement Scrolling Table on Windows Phone

I need to create a TV guide application. The requirement is that the user interface must be a copy of the one you can see here: raspored.bnet.hr. As you can see, there is a lot of data. So basically it would be a large scrollable table. Since there is no such user interface control on Windows Phone, I found that the best approach would be to create one vertical list with horizontal lists as their elements. Everything is fine and I can create it. But, to make it behave like a table, I also need these horizontal lists to be in sync, rather than scrolling one line at a time. Then I turned off horizontal scrolling in horizontal lists and included it in the parent (vertical) list, and while it gave the result, I wanted to achieve one big problem - user interface virtualization. I know that ListBox has UI virtualization enabled by default,and I see it while scrolling in a vertical list, but when I turn off horizontal scrolling in horizontal lists, the performance is really bad, and sometimes an OutOfMemoryException. I understand why this happens because when I turned off horizontal scrolling, these lists did not know which items on the screen are larger, so I loaded all of them into memory.

What I also tried was to leave a scroll in each list so that they had user interface virtualization, and then place the ScrollViewer above them. Then I tried to listen for Manipulation events on scrollviewer and progamously scroll through all the lists as needed. This didn't work, first of all, the ManipulationDelta event doesn't seem to fire often enough to make the scroll smooth, and I think there might be a performance issue when calling ScrollToHorizontalOffset on ~ 180 lists.

I also tried LongListSelector from WP8 as I read that it has much better UI virtualization and should be used instead of ListBox. The problem is that I could not get her to scroll horizontally. Is it even possible? I tried to wrap it in a ScrollViewer, which can scroll horizontally and work, but only if I set a fixed width in LLS.

I also tried Telerik RadDataBoundListBox and the problem was similar, I cannot get either horizontal or vertical scrolls in the same list. Therefore, I could only get each list to scroll by itself.

- , ? , , .

UPDATE: , , HTML WebBrowser. , IE , .

+4
1

, ? Out of memory Execption , 2 :

  • . BackgroundWorker
  • , 50 , URL- , , URL- . 20 . .
0

Source: https://habr.com/ru/post/1524875/


All Articles