WPF basics to enterprise application Series 1-Good Start

Source: Internet
Author: User
Http://kb.cnblogs.com/page/67678/author: Temple knight Source: blog Park Release Date: Reading: 660 Original article link full screen reading [favorites] 1. Preface

About me-- The temple server has just entered the blog Park and 51cto to write a technical blog. Currently, it is mainly engaged in project management, technical architecture, and enterprise technical training for a foreign-funded enterprise. Due to work and project needs, I have made some in-depth research on some technologies. I have previously conducted some technical session training in the company. Due to the short time each time and the large number of people, I can't speak very thoroughly, so I can't help my colleagues. Now I am opening a blog in the garden, hoping to write down the meager knowledge I have learned for your reference. In the near future, we will launch "oo to design model", "WCF to enterprise application", "WPF to enterprise application and optimization", and "Silverlight to enterprise application and optimization" for these training sessions. "," Windows azure basics to enterprise applications "and other blog posts,Because I have summarized and learned the use of these technologies, the mistakes are inevitable. With a technical exchange mentality, I have published them in the blog garden. I hope you can give more advice, this will benefit some people and help them correct my incorrect ideas so that they can improve together!

About WPF basics to enterprise application series --I have been very busy for the past few years, and I don't know what I am busy with. Anyway, my life and work have never been stopped. I have been talking about writing books, but I have been there since I wrote two chapters, I spent some time writing a 31-day re-structured learning note index before writing this topic. I feel like I have recovered my feeling, so I plan to continue writing a series.Article, Full summary and technical exchange. I hesitated for a long time before the opening: 1. Faced with so many technologies I like, I don't know which series to write first (OO and design patterns, WCF, WPF, Silverlight ,. net multi-threaded programming, LINQ, AOP and IOC in. net project, Asp. net MVC, Windows Azure, etc.). Finally, I plan to write WPF first, then Silverlight, and then write other series. After all, based on the current trend, WPF will be applied in C/S sooner or later.Program. Silverlight will also be gradually applied in enterprise-level development. 2. Since coming into contact with WPF 2007, it has been widely used and familiar with it. Besides, as a subset of WPF Silverlight, it is relatively simple to talk about WPF. 3. I am afraid that my own articles cannot be taught by others, but they mislead others. Therefore, with consideration of these issues, I will write every article with my full effort, and I will live up to everyone's expectations!

2. Content outline

· 1. Preface

· 2. Content outline

· 3. Series Arrangement

· 4. Development Tools

· 5. References

· 6. Interview Questions

· 7. Prospects

· 8. Display Results

· 9. Summary

3. Series Arrangement

· 1. Good start

· 2. wpf basics (history, version, structure, and framework)

· 3. Introduce WPF and use winform and WPF to implement the same example.

· 4. Application, window, multithreading, XAML, logic tree and visual tree and Content Model

· 5. layout using panel (XAML and CS of several layout controlsCode, Overall layout, etc)

· 6. Dependency attributes and additional attributes (basic, inheritance, and metadata)

· 7. Route events and additional events

· 8. Commands

· 9. WPF control classification and usage skills (contentcontrol, headeredcontentcontrol ...... Decorator)

· 10. Resize, locate, and transform elements

· 11. Resources

· 12. Data Binding (basic, value conversion, verification, set filtering, sorting, grouping, Master/Slave, and data provider)

· 13. Style

· 14. Template

· 15. multiple languages, skins, and themes

· 16. 2d graphics

· 17. 3D graphics

· 18. animation (application of several types of animations)

· 19. audio, video, and voice

· 20. Documents, printing, and reports

· 21. User Controls and Custom Controls

· 22. interoperability between Win32, Windows form, and ActiveX

· 23. build and deploy applications (clickonce deployment, Microsoft Setup/InstallShield + automatic update component)

· 24. WPF mode and example (MVC demo)

· 25. WPF mode and example (MVP demo)

· 26. WPF mode and example (mvvm demo)

· 27. Performance Optimization (WPF project bottleneck)

· 28. A complete WPF Project (general architecture Version)

· 39. A complete WPF Project (mvvm architecture Version)

· 30. New Functions of WPF 4.0

 

4. References

When talking about the reference materials, the first thought is msdn. Of course, I am no exception. This website is basically the first site to learn Microsoft technology. In addition to this website, I also refer to many otherCommunityAnd websites are basically introduced in the. NET technical community (in English), such as codeproject, codeplex ,Windowsclient, C # corner, etc. In addition to these websites, there are also some foreign technical expert blogs.

1. Programming Windows Presentation Foundation

Http://www.amazon.com/Programming-Windows-Presentation-Foundation-Chris/dp/0596101139/sr=8-2/qid=1164814449/ref=pd_bbs_2/104-6804148-3392750? Ie = utf8 & s = books

This book came out very early. At the beginning of the school, it was the book and msdn as a teaching material. Advantages: The Language explained in the book is easy to understand and the order and ideas of the explanation are also clear, and the content is comprehensive, examples are also very appropriate. The disadvantage is that the lecture is very simple, and it is slightly biased towards entry-level books. The theories and examples in the book are aimed at the testing version of WPF, so there are some differences with the official version, you will find that the example copied from the book cannot run in the program, and you should not be surprised, as long as you can understand the principle.

2. Windows Presentation Foundation unleashed (WPF) (unleashed)

Http://www.amazon.com/Windows-Presentation-Foundation-Unleashed-WPF/dp/0672328917/sr=8-5/qid=1164814449/ref=pd_bbs_sr_5/104-6804148-3392750? Ie = utf8 & s = books

This book was published after the official version of WPF, so it has a great advantage in comparison with the previous one, and the content is more detailed than the previous one, so for a long time, besides msdn, it becomes an authoritative teaching material. Although it is not as easy as programming Windows Presentation Foundation, the examples here will bring you a strong sense of accomplishment.

This book was written by Adam Nathan, a core member of the WPF team and a WPF expert.

3. Applications = code + markup: A Guide to the Microsoft Windows Presentation Foundation

Http://www.amazon.com/Applications-Code-Markup-Presentation-Foundation/dp/0735619573/sr=8-1/qid=1164814449/ref=pd_bbs_1/104-6804148-3392750? Ie = utf8 & s = books

Recommended books on the WPF official website (http://wpf.netfx3.com.

This book isCharles PetzoldIt is also a WPF expert. So there are a lot of technical insider and usage skills worth learning and practicing, but I have never insisted on reading them. The reason is very simple. This book is not suitable for beginners, so I didn't choose this book at the time. After I learned WPF, I often paid close attention to major foreign communities and forums. Many of the content above can lift your questions about how to learn and use WPF, therefore, it has been shelved to one side until the series has been fully completed.

4. wpf4 is what everyone expects, because there are some problems in the previous versions, such as performance optimization failure and unsupported features. So the announcement of wpf4 has made many people quite excited. The first row 3 is for wpf4 (vs2010), so interested colleagues can also find related resources.

& Lt; TD valign = "TOP" width = "172" & gt; & Lt; TD valign = "TOP" width = "164" & gt; & Lt; TD valign = "TOP" width = "239" & gt; & Lt; TD valign = "TOP" width = "172" & gt; & Lt; TD valign = "TOP" width = "164" & gt; & Lt; TD valign = "TOP" width = "239" & gt;

 

 

 

 

Of course, there are some books in China for reference. For example, Microsoft's classic redbooks can be used for entry-level learning and WPF secrets. Although there are some minor translation errors, they are still acceptable.

 

5. Development Tools

Most applications are developed using the following configurations and tools:

CPU: 2.40 GHz memory 2 GB

Operating System: Windows XP + SP3 English version

Development tools: Visual Studio 2008 + SP1 English version

Expression Design 3

Expression blend 3

Expression encoder 3

Since a new machine has been used recently, it may also be used for some development:

CPU: i7 quad core 2.8 GHz memory: 4 GB hard drive: 1 TB graphics card: gtx260 HD 2G display: 24 HD

Operating System: Windows 7 Professional

Development tools: Visual Studio 2010

Expression design 4

Expression blend 4

Expression encoder 4

6. Interview Questions

Every company has their own interview requirements regarding the interview, especially in the United States and India, which places more and more attention on WPF, making the application of WPF more and more extensive. The interview questions have also changed. I have previously undertaken some interview work for WPF, So I collected, sorted out, and wrote some interview questions for your reference, I have my own opinions on this aspect, so please forgive me for any mistakes. For Every interviewer, I think we should be respectful, regardless of the technology, regardless of your degree, people have one aspect that he is good. At the same time, your understanding and his understanding may have their own merits, and you should not impose some ideas on others to stand out for others. Therefore, I feel that both the interviewer and the interviewee must be modest and respectful.

Junior engineer

    • Strong. NET 2.0 basic knowledge & willingness to learn new technologies
    • What is a dependency attribute? What is the difference between it and the previous attribute? Why does it work in WPF?
    • What is a style )?
    • What is a template )?
    • Binding
    • Explains the functions and relationships of these classes: visual, uielement, frameworkelement, and control
    • Visual tree vs logical tree?
    • Property Change Notification (inotifypropertychange and observablecollection)
    • Resourcedictionary
    • Usercontrols
    • Three methods of event (bubble, direct, tunnel)

Intermediate Engineer

    • Routed events (route event) & commands (command)
    • Binding details (including binding to a single attribute, entity, set, value conversion, trigger mechanism, verification, etc)
    • How to deploy a beautiful UI (how did you do this in your previous projects ?)
    • WPF and previous technical interactions (WPF/winforms)
    • Animations and storyboarding
    • Clickonce deployment (advantages and disadvantages) or automatically update components through Microsoft Setup/InstallShield +.
    • Style, topic, and trigger
    • Custom Controls
    • How can I update the UI by working threads?

Senior Engineer

    • What is attached behavior (additional behavior or additional event )?
    • Has the prism, Cal & CAG and other frameworks been used? How do you use it? If not, explain your development model and framework.
    • How can I update the UI by working threads?
    • WPF 3D and animation applications (have you ever used them? Used ?).
    • Differences between Silverlight and WPF.
    • How to develop custom controls? You can briefly introduce the self-developed controls.
    • What is the development process of your previous WPF project?
    • Understanding of the three development modes (mvvm/MVP/MVC.
    • WPF performance adjustment (How do you optimize WPF performance ?)
    • Let's talk about some of your experiences and experiences in WPF.
7. Prospects

I don't want to introduce too much about the future of WPF. Many people have already made in-depth research on this aspect, so we can make a simple summary:

WPF provides many outstanding functions and features:

1. Excellent User Experience;
2. Simple and Convenient deployment (easy to update and upgrade );
3. simpler programming methods.
4. Easy to achieve brilliant results.

Therefore, it has been widely used in the following aspects:

1. Enterprise Application Systems (mainly some management systems, which are already used by many companies in China );
2. Some of the effects that Silverlight is currently hard to achieve are also required to be browsed over the Internet (for example, Asahiyama Zoo (Japanese Hokkaido xushan zoo ))
3. desktop applications (such as Yahoo!'s instant messaging software and QQ ).
4. Some products with high performance

Since WPF has so many excellent features and functions and Microsoft has been working hard in this regard, we believe it will surely bring about a revolution in C/S user programs. I have also learned about this application. In China, many companies are upgrading winform to WPF, in foreign countries such as the United States and India, the use of WPF is also becoming more common. Last week, the company's chief scientist invited me to a six-star hotel in Singapore for dinner. I was honored to be invited in the form attached to the project team, and there was just an Indian architect next to it, I also asked about their country's application of Windows Azure, WPF, Silverlight and other technologies, and found that their country's application of these technologies was very early and also formed their own mature systems. Recently, many projects in the company show their smart systems by colors (the UI is implemented with WPF and the camera is captured intelligently, in this way, people standing in front of the TV can play a lot of experience with their own bodies, for example, you can actually experience 3D games, you can use your body to directly do a lot of online things ), they are much more advanced than our current system (our system uses WPF for UI, and then enables on-demand online videos, games, and news on TV via Bluetooth and remote control, we can also see their R & D capabilities in this area. So I believe that WPF will become popular, so let's wait and see.

8. Display Results

After talking about so many WPF things, some colleagues who have never touched on WPF may ask: what kind of effect does WPF achieve? Which companies have WPF used? If WPF can be used in enterprise development, I have collected some WPF products and some commercial application products. I hope you will have a comprehensive understanding of WPF in the future.

In some examples of WPF:

WPF enterprise use cases (some cases are from the network ):

AMD live: AMD is a structured and visualized online photo, music, and video playing software to improve the digital entertainment experience of PC users.
This interface is really powerful, and entertainment is almost the same as Apple's.

: Http://experience.amdlive.com/us-en/Home-Page/AMD-LIVE-Explorer.aspx


This guy (http://www.cnblogs.com/lovebread/archive/2010/05/06/1728492.html) also used blend to simulate a relatively similar interface:


Chosun Daily ireader: A Korean daily newspaper reader based on WPF technology, which can see high-fidelity images.

Entellium rave: Small and Medium-Sized Enterprise CRM provider entellium
The CRM system exclusively for small and medium-sized enterprises, the combination of beautiful interfaces and complex content, and the separation of the logic layer and the presentation layer enable this balance.


 

Qq of WPF concept Edition

Image from: Workshop.

 

 



 

Yahoo: Yahoo launches Instant Messaging Software

It is powerful and supports many custom operations.

 

Asahiyama Zoo (Sunrise Zoo, Hokkaido, Japan ).
It is a virtual zoo experience tool jointly developed by Microsoft and the Japanese Hokkaido xushan zoo. You can use it to perform a virtual experience on the zoo, achieving good results.

Address: http://www.asahiyamazoo-aict.jp/asahiyamazoo.xbap

 

9. Summary

This article describes the WPF series arrangement, development tools, references, interview questions, prospects, and effects, we mainly know what WPF is and what experience WPF can bring to us. This article takes more than five hours to complete due to issues with the use of Windows Live writer and Its log Publishing, I will join you on the "WPF basics to enterprise application series "!

LastPaladinI will do my best to write this series. At the same time, as I have summarized and learned how to use these technologies, the mistakes are inevitable. With a technical exchange mentality, I posted them on the blog and 51cto, so I hope you can give more advice. This way, while benefiting some people, can also correct my incorrect ideas so that you can improve them together. Please pay attention to the subsequent articles!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.