WinRT GridView scrolling setup work differently on mouse/kb and touch - xaml

I'm trying to mimic the functionality of the NetFlix app, with a strip on the left that collapses on scrolling, I had to offset the tiles on the GridView a bit to the right so that they can accomodate that behavior. They seem to work alright in keyboard and scroll completely to the right (although I noticed the scrollbar suddenly grows in size when I hit the left boundaries. this totally changes when I use it on touch - I seem to have a limit on the right and the scrolling doesnt scroll past the last 100 pixels or so. how do I take care of this.
I'm assuming it is related to the bug here, but didn't seem to solve the problem with that solution there.
"Sticky scrolling" issue in WinRT XAML GridView control

Jay, I bet you solved it in the meantime. But I'll add my solution here anyway; it might save time for other fellows.
This effect - not being able to scroll to the very right end horizontally with touch - did go away when I either:
*) changed the VirtualizingStackPanel to a StackPanel
OR
*) Grouped the GridView (with VirtualizingStackPanel in the ItemsPanelTemplate) into a simple ScrollViewer
Hope that helps!

Related

Window doesn't render as expected, controls gets messed up

I have a NSWindow with autolayout, There is one view based NSTableView with few controls like images and labels . Once in a while the window comes ugly, means all the constraints doesn't work, and the text fields, images just loose their places.
All the controls inside the tableView are seen in (0,0). But only for few rows, for other rows it work perfectly, however all rows contains same controls.
This is happening only for the first time specially in OSX 10.10 when installing from DMG, if I reopen the window again then every thing look OK, no overlapping of text and other controls.
Please help to understand the issue, or any suggestion to fix.

Does NSSplitView autosavename work?

I can't seem to get NSSplitView autosave to work - can anyone confirm that by adding an autosavename in IB it should work ? I am using auto layout but my splitView is not remembering the position of the divider.
EDIT
I would expect the position of the divider to be remembered between application restarts. All I see is the divider position always starting at the default position that was set originally in IB.
Well strangely enough this now seems to be working! So I guess I can answer my own question - YES setting an autosave name in IB should result in the SplitView remembering the divider position between application launches.
No idea when it started working or why it was not working for a while. My bad no doubt.
FYI I am using a subclassed NSSplitView with autolayout. One thing I have changed is I load the right views at runtime now. Anyway for those struggling with splitViews, they can be made to work with some fiddling it seems.

coreplot: Right scroll does not really work

I'm using core plot and have allowed user interactions. Now it is possible to scroll in all directions using gestures. All directions? No, if the finger is moving from left to right (so I try to scroll from 100 to 0) sometimes nothing or much less than usually expected happens.
So if I scroll in the opposite direction, the same point remains under my finger. If I scroll from left to right, there is much less movement.
I have no idea, where the problem can be. Expecially, since I also tried to implement scrolling by swiping (My own Swiping-Implementation, not the Coreplot implementation) and the result was almost the same: All swipes worked, only right-swipe made trouble.
Well, I have an idea: Right-Swipe is already implemented somehow in the CorePlot-library to do something else, and the gesture is recognized to do something else than desired. ... but I found nothing about it.
Ideas?

Nested scrollviews getting problematic

My problem is that I am using nested scrollviews. One for the horizontal paging and second to show the content with vertical scrolling (cuz content, which is text, is more than the available space). Actually there are multiple copies of this vertical scrollview like:
MainScrollView (Horizontal)
VerticalScrollView1
VerticalScrollView2
VerticalScrollView3
Besides these the vertical scrollviews contains label that are draggable, I implemented dragging using touchesBegan: and moved: events. I developed the whole thing using only one vertical scrollview and it's working just fine and I thought, to my dismay, that it'll work exactly the same for the rest but when I added more vertical scrollviews, only the last one is allowing dragging of the labels. The first two ain't allowing dragging, besides, they are also not responding to the vertical scrolling event, which was perfect earlier. I tried it with two vertical scrollviews and even then only the last one was allowing dragging. Ain't sure about the vertical scrolling cuz right now only the first one has enough content to be scrolled rest need not to. I can try that out too but it's kinda late here, so, if someone can guide me with the provided info. would be much helpful. Else I can try that out tomorrow and post you with the result.
Thanks for your time.
I had similar issues with nesting UIScrollviews. I found this video from WWDC 2010 to be really helpful in showing how to work with scrollviews inside a paging scrollview, and I managed to fix the bugs I had by following the steps in this video and looking at the sample code.
Designing Apps with Scroll Views
Sample code

how can i implement dynamic navigation/group header positioning in a winrt app?

I know the title is a little confusing, but the best way to describe what I'm after is by running the Weather metro app on the Consumer Preview; as you scroll horizontally, you'll note that the section headings kind of move around and stay on top of the relevant content, and then fade out as you cross over into a new section. (The main background for the first section also kind of does this)
My question is, how would I go about replicating this behavior in a WinRT app of my own? Are there any existing controls I can leverage or would I have to essentially rewrite it all?
This looks just like a ScrollViewer - you would handle the ViewChanged event and depending on the scroll offset - change the opacity of overlaid static TextBlocks and completely hide the ones that scroll once you cross specific tresholds. I don't think there is anything like that that does it, but I can build it.