This is likely influenced by my own project needs, but I feel like there is a feature gap around how Noesis game controller input affects built-in Noesis user controls. Game developers represent a large share of the Noesis client base and I think this makes support for gamepad interaction important. My app is converting from UWP to Noesis and while UWP is similar to WPF, I feel that UWP introduced some very important features and capabilities with gamepad support in mind. I understand and appreciate that the stated goal of Noesis is to support the WPF spec, but I think it is worth noting that capabilities of Microsoft's UI has evolved through UWP, and some very beneficial features were added.
Here is where I feel Noesis is deficient, with respect to game (gamepad) support:
Focus Engagement (
https://docs.microsoft.com/en-us/window ... cus-visual)
Focus engagement is intended to make it easier to use a gamepad or remote to interact with an app. When the property IsFocusEngagementEnabled on a FrameworkElement object is set to True, it marks the control as requiring focus engagement. This means that the user must press the A/Select button to "engage" the control and interact with it. When they are finished, they can press the B/Back button to disengage the control and navigate out of it.
Edit: Noesis has this:
Version 2.1.0b16 - Enhancement Focus engagement implemented. yay!
Separation of Focus and Selection Events
I don't believe the Noesis ListBox (and ListView) distinguish between navigation through a control's selectable children and actual selection. Gamepad support in UWP means that a user may navigate through elements in a user control's collection without kicking off SelectionChanged events. When a confirm button (A on Xbox) is pressed the selection event fires. Assuming I understand this properly, this is a limitation that affects creation of things like game inventory or selections from a list. (This is also the current Noesis conversion obstacle I am currently working through). The UWP ListView allows navigation of selectable children using a gamepad without firing events until a keyboard or gamepad confirm button is pressed. If a mouse is used the user control behaves similar to a WPF control. (
viewtopic.php?f=3&t=1611).
Edit: I have this working. I needed to ignore selection events and then look for KeyDown mapped to Gamepad input when a controller is used.
Focus Visual
The focus visual is a border around the UI element that currently has focus. This helps orient the user so that they can easily navigate your UI without getting lost. I believe Noesis has this worked out pretty well -- but I do have a few selectable controls where it is not happening that I carried over from UWP. I think I need modify the style with incorporation of this capability in Noesis.
UI Element Sizing (
https://docs.microsoft.com/en-us/window ... ent-sizing)
Assuming it is not there in Noesis, there is likely value in exposing a similar capability. UWP provides this for what they call the 'ten foot experience', using XAML on television screens (LayoutScaling). I am using the Noesis ViewBox but this does have some limitations (
viewtopic.php?f=3&t=1608).
*edited for typos
* also edited because I have worked through most, if not all challenges I initially encountered.