A page based view can perfectly be a list view; I would have no problem having
a paging skin or a scrollbar skin for ListView.
On 21-3-2015 19:46, Scott Palmer wrote:
But that's not right. A *List* is 'a container for an unbounded list of
items". A ListView is a specific type of control that gives you a view to that
list *in a specific way*. It has properties in addition to the list itself. It
*should* have a scroll position because that is a property of that kind of control -
even though the skin will implement it. These controls are visible elements and must
expose properties that will ultimately be implemented in the skin. They must be
Nodes. Otherwise they will be far too cumbersome to use.
You may not need to expose where the scroll bars are, or get access to arrow
buttons, etc., but you should have access to what items are visible, what the
scroll position is, etc. you should be able to change the scroll position
programmatically without knowing the skin.
A page based view is a different kind of control. It can still use a List
model, but flipping to a page system from a scrollable list is not something I
would expect when changing the look and feel. I might expect to have the view
change from pixel-based scrolling to line based scrolling, or have up/down
arrows at one end of the scroll bar instead of each end.
Scott
On Sat, Mar 21, 2015 at 12:01 PM, John Hendrikx <hj...@xs4all.nl> wrote:
As someone that has been tempted to write a new Control that replaces ListView
atleast half a dozen times now because of restrictions or idioms that don't
match my needs, I'd disagree. A ListView doesn't need to scroll at all. An
application that isn't mouse or touchscreen controlled (keyboard or remote
controlled for example) has zero need for scrollbars except maybe as
information to show the relative size of the view.
A List of items could be paged only, or they could flip. I'd like to be able to
take a List, and wrap it in a ScrollBarView... or in a PagerView, FlipOverView or
CoverFlowView (with 30 new properties to set things like reflections, 3d
parameters, distance between items, etc). It is possible to do this with Skins,
but it feels like a hack rather than simply a different Look&Feel in the end.
After all, a ListView is a container for an unbounded list of items. I can think of half a
dozen ways of how that can be shown to the user, and the current ListView is just one way to do
it. The promise of Skins here is that I could just change the look & feel, but unfortunately
way too many details of the "default" look & feel leak through in the Control itself
--John.