1. What is Sharpui
Sharpui is a kind of interface engine of DUI thought, which adopts pure C + + development, realizes complete message processing mechanism, separation of rendering engine and flexible control extension, which is a interface engine of the real interface and business logic separation of C + +.
SHARPUI by abstracting the interface elements into a single drawing unit, and then combining them again into a logical control through the concept of a template. Therefore, the interface engine implements the most core rendering and drawing units, which are combined to get a variety of logical controls. To meet changing business needs, and. Fundamentally make the interface development simple and efficient, the business is really only concerned about their business logic, as for the presentation of business data through the interface engine data binding core layer of their own initiative completed.
The following is a subset of the SHARPUI controls:
watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqvy2hpbmewodux/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/ Dissolve/70/gravity/center ">
2. Advantages of Sharpui
SHARPUI is an excellent interface engine for the C + + domain, which uses a completely different way of implementation than the traditional DUI interface library, which is generally used for interface-driven data, and SHARPUI is a data-driven interface.
Interface engine disadvantages of traditional interface-driven data:
- The user's business data and interface are highly coupled;
- The amount of interactive development of data and UI is large. and easy error;
- The scalability and flexibility of the whole system are greatly limited;
- The system development efficiency is relatively low, the development code quantity is large.
- Almost no keyboard operation is supported.
The SHARPUI interface engine is implemented using a data-driven interface. Features such as the following:
- Implement data binding, self-actively completed user data and UI control synchronization updates, the user really just need to focus on business logic. Development efficiency is more efficient, smarter and easier;
- The control abstraction. The property mechanism of a class-level control. Effectively save the memory space occupied by the system;
- Implement a complete virtual display mechanism, easily support the rendering of 100000+ data items, greatly accelerate application startup speed and reduce memory consumption;
- Intact animation frame, users can easily develop a variety of efficient, cool animation, to meet the actual business needs, improve the user experience of the product.
- Full keyboard support, no mouse can also complete the interface operation;
- Advanced resource structure design, can easily achieve multi-lingual, skin-changing effects (can change the layout, content);
- The reconfiguration and optimization of the thoroughly tempered make the sharpui perfect for both memory and performance.
The above simple description of sharpui relative to the traditional DUI interface unique advantages. The data-driven interface is powerful, simple, and efficient after the actual code.
3. SHARPUI Overall structure
Is the overall structure of the entire SHARPUI:
4. hello,sharpui
SHARPUI for project development is simple and efficient, here is a simple case to give you an intuitive impression, to achieve a hello,sharpui form display:
The layout file descriptive narration is for example the following:
<?xml encoding= "Utf-8"?>
<window name= "Window1" >
<window.resources >
<solidcolorbrush x:key= "WINDOW_BK" color= "#288ADD"/>
<solidcolorbrush x:key= "BORDER_BK" color= "#298ADD"/>
<style targettype= "Window" >
<setter property= "Background" value= "{DynamicResource window_bk}"/>
<setter property= "BorderBrush" value= "{DynamicResource border_bk}"/>
<setter property= "borderthickness" value= "0"/>
<setter property= "Template" >
<Setter.Value>
<controltemplate targettype= "Window" >
<border background= "{TemplateBinding}" cornerradius= "2.5"
Borderbrush= "{TemplateBinding}" borderthickness= "{TemplateBinding}" >
<AdornerDecorator>
<contentpresenter/>
</AdornerDecorator>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Grid>
<textblock horizontalalignment= "center" verticalalignment= "center" text= "Hello,sharpui"/>
</Grid>
</Window>
A few demon are attached below (if you need further information, please add QQ Group:206378966):
SHARPUI Main Control Demo Interface:
Main Demon:
Watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqv/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70/gravity /center ">
SHARPUI Enterprise Edition-Simple Introduction "01" "QQ Group: 206378966"