What scrolling / list control is used on Windows 10 store? - xaml

I'm playing around with Windows Universal App development. When looking at the Windows 10 Store App, I noticed a scrolling list control as shown in the below screenshot. Clicking the right arrow will shift right by a certain number of elements. Likewise on the other side, clicking the left arrow will shift back.
Is the scrolling control in the Store App a standard control or something custom made?
I'm aware of things like the ScrollViewer, but that just adds a scroll bar.

I created this by the following:
Grid with 3 columns with widths 3*, 94*, 3*
First column contains Button stretched vertically and horizontally to fill the grid and a ListView
Second column contains nothing
Third column contains Button stretched vertically and horizontally to fill the grid and a ListView
Button clicks fire events to calculate how many places to scroll left or right and then uses ListView.ScrollIntoView to scroll the items into view

Related

Freeze Headers when vertically scrolling VB.NET

I have a program that generates textboxes in a Panel called "PayeGrid". The panel also contains a TableLayoutPanel for displaying Headers for each row of textboxes. See the image below:
Layout
When running the program, I can scroll horizontally using PayeGrid scroll bars and the Headers also scroll along,as intended, because they are contained within PayeGrid:
Horizontal Scroll
However, when I scroll vertically, the headers also scroll down and disappear from view.
Vertical Scroll
How can I freeze the TableLayoutPanel when scrolling vertically?
instead of Using Panel and Table Layout Try Using DataGridView ..that may provide freezed header and Scroll its Content Only..
try using https://www.youtube.com/watch?v=Yfa1hnpKIzk

Adding A View To An Existing View Programatically

How can you add or replace a view within a view with code? I'm programming for OSX, not IOS.
I am using a drawer that utilizes a custom view. In the custom view I have two boxes, one with a custom set of icons that I want to stay static and another box that has the information related to that button. What I want to do is when a user clicks one of the buttons that the 2nd box view changes to reflect the info for that button.
For example, I have five buttons and the default 2nd box is "Info", if the user clicks the 2nd button in the first box view I want to change the 2nd box to be the "List" box instead while the 1st box with the buttons stays intact.
I'm not sure how this would impact constraints since while the first box is a fixed size, the 2nd box needs to be dynamic so that it fills in the "rest of the space" so that when the drawer size changes with the window size that the 2nd box is taking up the remaining real estate.
Thank you!
I have implemented such a scenario in the past using a tabless NSTabView, and an NSSegmentedControl (for the buttons). The NSTabView has it's -takeSelectedTabViewItemFromSender: action connected to the NSSegmentedControl, using Interface Builder.
In the Connections Inspector, this shows up like so:
This has the effect that the index of the selected NSTabViewItem in your NSTabView will correspond to the index of the selected segment in the NSSegmentedControl.

How to implement facebook like menu (left menu) in windows store app

Basically, I want to be able to create a menu which on clicking on some button will appear from left (or right) and on clicking anywhere on main screen the user would be able to dissmis the menu. For example the facebook app has something similar on all platforms (so on Windows 8 also).
I have found a solution for Windows phone (http://sviluppomobile.blogspot.cz/2013/08/add-lateral-menus-to-windows-phone.html), which is not the way to go for Windows 8. Maybe I could use some hand made animation for aflyover, which would be in default outside of viewport. However, I guess there must be better or ideally already proofed solution.
Also I found two questions here on SO, which asked for same thing I guess, but no answers there ...
How to do: lateral menu like in "Music" app on Windows 8 / 8.1 and
https://stackoverflow.com/questions/22613421/windows-8-1-apps-left-menu
I know, that it is not the best way on windows platform to implement menu (we have top app bar, right), but our customer just wants this.
I would like to ask for some hints or ideally a code for a native implementation for Windows 8.1 using XAML (C# or VB.NET). Thanks to everybody who will give it a thought.
You'd put a StackPanel with Orientation="Horizontal" in a ScrollViewer. Put three panels in the StackPanel - let's make them Grids and call them: left, middle and right. On SizeChanged events of the ScrollViewer - set the Width and Height of the middle grid to the same values as ActualWidth and ActualHeight of the ScrollViewer and perhaps set the left and right grids to be a little bit narrower to leave space to see a little bit of the middle panel when you scroll to the ends. Make the ScrollViewer scroll horizontally by setting Horizontal/VerticalScrollMode and scroll bar visibilities and make the ScrollViewer snap to your grid panels by setting the HorizontalSnapPointsType and HorizontalSnapPointsAlignment properties. Also set IsHorizontalRailEnabled on the horizontal ScrollViewer to true if you have any vertical ScrollViewers in your panels and make their IsVerticalRailEnabled="true" so only one of them scrolls depending on the manipulation direction. Finally - put a transparent overlay panel as a top child of the middle panel handle the tap events on the overlay to scroll the middle panel back into view when it isn't centered and in the handlers of the menu buttons scroll the horizontal ScrollViewer to the start/end.

Extjs 4 / Sencha Architect - two same region in border layout

I am using Extjs 4 in Sencha Architect. I have 2 buttons when I press on first one I get 'Panel_1" displays at the bottom. I made it using border layout on parent panel and south region on child panel "Panel_1".
now I need to do the same thing and display "Panel_2" at the same place when button_2 pressed. but seems like I cannot set two panels at same region (south) in border layout.
Any another idea about how to accomplish that ?
You need to create a container in the south region with a card layout. Add both of your panels to this container and then use the southContainer.setActiveItem(card) function in your button handler to show the correct panel when you press the relevant button.

ScrollViewer + ScrollBar arrows

When user clicks on the scroll bar arrow, the content shifts very slow(horizontal offset changes on 16). How can I increase the speed of shifting when I click on arrows?
(SmallChange doesn't work)
Unfortunately, it's quite hard-coded in the scroll viewer.
The only way I know of, is to make a new panel based on the panel that you want to use in the scroll viewer, and implement IScrollInfo for it.
Then, setting this panel as the content of the scroll viewer and setting CanContentScroll to true.
StackPanel implements IScrollInfo but other panels do not.