I am trying to develop a user interface which involves creating train sets on the canvas. I am planning to create this as a windows store app. I have some experience in Silverlight and xaml. I am planning to make my app in C# and Xaml.
I have done some research on the web and I could not find any decent framework which support following animations and UI activities:
Drag and drop controls
Snapping of controls
Reordering snapped controls
Drop-shadow effects for control
I know how to di all these in Silverlight world but the windows store xaml put some limitations. Could anyone suggest some framework or perhaps code samples that could be useful for me.
The GridView control offers drag and drop, snapping and reordering of items right out of the box.
Related
I am new to UWP app development and want to understand how xaml control is rendered in the UWP application. Which is the class that implements the rendering logic? And is that code open source? Also, when I create a new custom control, do I need to take care of rendering myself?
How is xaml control rendered in UWP application?
This is a big topic, for understanding this, we need to know UI Framework Layering. Windows.UI.XAML-> Windows.UI.Composition-> DirectX Family.
Derive from official document, The Visual layer provides a high performance, retained-mode API for graphics, effects and animations, and is the foundation for all UI across Windows devices. You define your UI in a declarative manner and the Visual layer relies on graphics hardware acceleration to ensure your content, effects and animations are rendered in a smooth, glitch-free manner independent of the app's UI thread.
And is that code open source?
Currently, the UWP open source controls are WinUI. You could find the base custom control build logic.
do I need to take care of rendering myself
The rendering is very low level, if you just custom control that inherit Control class, you have no need to care about the rendering process, you just need to build the interface in the target templated style. and add specific dependency property in the code behind. For more detail please refer to Templated Control document.
Is it possible to inspect GUI elements for OpenGL windows applications, as it is possible to do it with native windows apps or any app done in WPF or windows forms? I would like to be able to read text of labels, textboxes in the OpenGL application, didn't manage to do it with UIAutomation with c#, nor with Selenium.
Unfortunately, no. OpenGL is a rasterisation API: by the time the UI element data reaches OpenGL, it is already in a format describing how to draw rectangles and the pixels of the font, not abstract UI element descriptions.
Your best bet is OCR.
Is it possible to implement mouse click and drag selection box in GridView UWP Windows 10. Should it be done through simply drawing a rectangle, calculating coordinates of its points and evaluating position of other objects inside this box? Or are there some other ways?
Could you give a bit of sample code or a link?
The Universal Windows Platform does allow for Drag-And-Drop behavior. This includes drag from app and drop outside of app, drag and drop inside the app, and drag from outside the app and drop in the app.
The way to do this very simple (with room for heavy customization if you feel like it is needed): UWP XAML controls have a CanDrag and AllowDrop properties. The former is just a property of whichever control you're dealing with, the latter is an event that needs to be handled properly via code. If you want to further customize your app you can also handle the DragOver, which handles behavior when a dragged item is over a drop area but has not been "released" yet.
For further details and a bit example code please read Microsoft's own documentation for Drag-And-Drop. For a more built up example, you can check out the following Github repo.
I do want this control in sometime for my project. For ex, I want it to be displayed when my app in snap mode.
You can use semantic zoom for that purpose.
Guidelines for Semantic Zoom
XAML GridView grouping and SemanticZoom sample
I implemented jumplist using semantic zoom. Might blog about it if anyone's interested.
I'm new to iOS programming and one thing I don't get. I have an app idea, I paid for graphic designer to make me a UI design. He sent me a layered psd with custom designed controls, layout etc. Everything is custom designed, not using standard iOS looking controls as I wanted.
The question is how can be this custom design converted to iOS controls, layout and so?
If I consider a Facebook iPad application or Foursquare iPhone application, are that just "skinned" iOS standard controls, or is it written in HTML5 and just wrapped by Objective-C? If so, how?
Thank you
I recommend that you use Objective-C for native applications. Most controls provide support for "skinning" by allowing you to provide your own images. For example, UISlider has methods to set minimum and maximum image, the track image and tint color as well as the thumb image and tint color. Ray Wenderlich often provides great tutorials on his site that are worth checking out.