I’ve spent some time recently looking at the Windows Presentation Foundation (WPF). WPF is part of Vista, part of .NET 3.0 and part of Silverlight.
At some level, I’m disappointed with WPF. After hearing so much about it (but ignoring it) during the last few years, I expected it to be a radical new way of writing graphical user interfaces. Instead, it seems like a slightly different way of developing Winforms applications.
With .NET 2.0, you use Visual Studio to design your Windows “forms”. Visual Studio automatically generates code for you that creates all of the visual elements (windows, buttons, list boxes, etc.) at run time. When your form’s constructor is called, it calls “InitializeComponents()” and the generated code does the rest. The Visual Studio forms editor also lets you easily attach code to different events raised by the visual components.
With WPF and .NET 3.0, you use the Expression Blend tool to design your user interface. As with the Visual Studio forms editor, Expression Blend also lets you easily attach code to handle UI events. The output of Expression Blend, however, is not code, it’s XML. When your code’s constructor is called, again, InitializeComponents is called but, this time, the function works by loading the XML and interpreting it (creating forms, buttons, list boxes, etc.) rather than by executing generated code.
At this level, the only advantage/difference of/between WPF and .NET 2.0 Winforms is the use of XML rather than generated code. Mind you, this can be a significant advantage. By managing the UI specification as data separate from code, WPF facilitates the use of skilled graphical designers to develop user interfaces. Designers can use Expression Blend to fine tune UI without worrying about unintended changes to program code.
After looking WPF further, however, I realized how it is more significant than it appears at first blush. The WPF designers have completely reimplemented the basic Windows UI elements (and more) in a much more cohesive, sensible, fashion. The net result (no pun intended) is very cool.
For 20 years now Windows programmers have been suffering the limitations of the original Windows 1.0 design from 1985. Windows 1.0 defined a basic set of UI controls: window, menu, list box, static control, text control, push button, radio button and group box (I think that’s all of them!). These controls were implemented by Windows itself and could be composited by programmers in their own applications. Additionally, programmers could subclass these controls to alter their behavior or to implement their own user-defined controols.
Subsequent versions of Windows introduced new controls. Somewhere along the line, combo boxes, context menus, rich text controls, progress bars and other controls were added. The concept of a small set of built-in controls with narrowly prescribed behavior persisted however. You could do some things like image-based pushbuttons or scrolling lists of images by taking advantage of owner draw features but the amount of customization available with the built-in controls was minimal.
.NET 1.1 and 2.0 added new controls, too, including DataGrid and DataGridView that had no built-in counterparts. These controls, however, resembled the built-in ones in how the could be used and customized.
With WPF, the original Windows UI elements are totally subsumed by the new WPF UI model. It is possible to use WPF to write what looks like a traditional Windows application, but it is also possible to write applications with much more sophisticated user interfaces.
WPF has a very clean notion of containment and transformation. Let me explain what I mean by these. Consider a traditional Windows 1.0 List control. It contains a list of strings and can present these strings in a vertical list, providing scrollbars if they are needed to view all the list contents. In WPF, the ListBox control is a container that will provide a scrolling list of whatever it contains. What can it contain? Anything! Well, any WPF UI element. If you put static text boxes in a WPF list, it’s alot like a Windows 1.0 list. But if you want, you can put editable text boxes or tree views in a WPF ListBox and it will do the right thing with them. There are several container controls in WPF and all of them support this functionality.
Similarly, WPF provides a consistent mechanism for visual transformation. In graphics (and, don’t forget, WPF has full support for 2D and 3D graphics) “transformation” refers to mathematical manipulations to modify the appearance of what is being displayed. There are translation, scaling and rotation transformations that can move, size and rotate graphical data. WPF supports these transformations, too. If you surround a text box with a 90 degree rotation transformation, the text box will appear (and function) vertically instead of horizontally. Transformations can apply to entire graphical elements (for example, our previous ListBox) or to contained elements (we could have one tree view rotated within our list of tree views).
Beyond the generalized concepts of containment and transformation, WPF also adds support for animation including keyframe animation. With keyframe animation, Expression Blend lets you specify the visual characteristics of a UI at two (or more) points in time and the WPF run-time code will take care of gradually transforming the UI for the intervening points. You can, for example, place an image at one (x,y) coordinate to start and at another (x,y) coordinate 10 seconds later. The WPF run-time code will then gradually move the image from the initial to its final location over the course of 10 seconds. Key frame animation can be applied to scaling and rotation transformations as well as to other visual effects (transparency, for example).
So far, I’ve mostly read about WPF. I want to write some non-trivial software to put it through its paces. From the design perspective, I really like it. I also like the relationship between stand-alone WPF applications and Silverlight (browser-based) applications. I’ll post again on the topic when I have more to say.
win money everyday at casinos
Buy Best Proxy
I found a great…
Sweet internet site, super design and style, very clean and employ friendly.
free money
Hurray! I just got $1 BitCoin, Free! Earn $10 BitCoin Coupons & Huge Referral Bonus, All Free! Join me NOW: btckick.com
cheap viagra online canadian pharmacy buy viagra viagra walmart
viagra amazon viagra no doctor prescription viagra 100mg price
where to buy viagra online viagra low price walmart viagra
ed meds pills drugs ed medicine online top erection pills
vacuum therapy for ed best ed pills non prescription over the counter ed drugs
cheap viagra online canadian pharmacy buy generic drugs cheap viagra online
viagra otc buy generic drugs cheap viagra online canadian pharmacy
overcoming ed
viagra over the counter buy viagra online viagra coupons
viagra prices cheap viagra viagra professional
where can i buy viagra over the counter buy viagra viagra price comparison
treatment for ed
why neuralink is good
buy cheap prescription drugs online generic ed pills medicine for ed
new treatments for ed Cheap Erection Pills pain medications without a prescription
100mg viagra without a doctor prescription generic ed pills best ed drug
google viagra dosage recommendations cheap ed pills generic ed pills
erectile dysfunction ED Pills ed and diabetes
viagra without a doctor prescription ed pills online pharmacy ed meds online without prescription or membership
medication drugs https://canadaedwp.com/ best treatment for ed
erectile dysfunction pills canada ed drugs homeopathic remedies for ed
homeopathic remedies for ed https://canadaedwp.com/ natural ed
buy generic drugs from india buy generic drugs from canada medications
tadalafil tadalafil
generic drugs from india buy generic drugs online
payday loans no credit check instant approval personal loans for bad credit
drugs from india online pharmacy
tadalafil canada tadalafil online
online pharmacy compare pharmacy
canadian pharmacy buy generic drugs from canada medications
instant online payday loans personal loans with no credit check
It’s going to be ending of mine day, but before ending I am reading this impressive paragraph
to improve my knowledge.
best ed pills online https://sildenafilxxl.com/ online pharmacy viagra
how can i order prescription drugs without a doctor buy Cipro online best ed solution
best online drugstore canada online pharmacy best ed drugs
viagra without doctor prescription Cipro india ed supplements
the cost of cialis cialis does medicaid cover cialis
buy viagra online canada viagra coupons 75% off viagra online usa
pump for ed generic Cipro medication online
google viagra dosage recommendations Prednisone erectile dysfunction remedies
male enhancement pharmacy no need prescriptions best medicine for ed
drug store online buy Doxycyline online drugstore
erection pills viagra online buy Amoxil can ed be reversed
taking l-citrulline and cialis together cialis tadalafil average price cialis
best medicine for ed online pharmacy canada buy ed drugs
is cialis generic available cialis for sale cialis for daily use
medication online generic Amoxil how to overcome ed naturally
natural ed: cheap ed drugs supplements for ed
ed treatments that really work: male enhancement pills erection pills
ed medication online: errection problems prescription drugs online
online ed pills canadian pharmacy online viagra without doctor prescription
canada viagra buy viagra online usa viagra without a doctor prescription usa
prices of cialis cialis free trial cialis or viagra
best erectile dysfunction pills canadian drugs without prescription injectable ed drugs
ed treatment review cheap viagra online canada pharmacy buy prescription drugs online legally
can i buy zithromax over the counter zithromax 500 mg for sale can you buy zithromax over the counter in mexico
where to get zithromax over the counter can you buy zithromax over the counter zithromax 250 mg tablet price
online medication approved canadian pharmacies online viagra without a doctor prescription
zithromax tablets where to get zithromax generic zithromax india
over the counter erectile dysfunction pills how to buy cialis from canada cheap pills online
daily use of cialis buy viagra cialis legitimate cialis by mail
erection pills that work buy viagra online canada pharmacy ed medications list
erection problems ed meds rx best erectile dysfunction medication
drugs prices top erectile dysfunction pills ed drugs generic
buy Doxycycline Amoxil home remedies for erectile dysfunction
drugs online ed drugs generic buy erectile dysfunction medications online
ed medicines ed meds rx top erectile dysfunction pills
vacuum therapy for ed safe online pharmacies in canada canadian mail in pharmacy
cenmox 250 cenmox 500 how to buy ed meds pills drugs
real viagra without a doctor prescription over the counter erectile dysfunction pills cheap erectile dysfunction pills online
buy Amoxil online cheap antibiotics ed drugs
natural ed pills buy erectile dysfunction pills online buy erectile dysfunction medications online
buy prescription drugs online best ed drugs ed meds rx
erection pills that work where to buy lipitor lipitor tablets
no prescription viagra when will viagra be generic mail order viagra
errectile disfunction buy lipitor online generic lipitor
where can i buy viagra walmart viagra goodrx viagra
ed pills comparison canada online pharmacy canada online pharmacy
treat ed canada online pharmacy canadian pharmacies shipping to usa
natural treatments for ed canadian online pharmacies canada online pharmacy
buy generic 100mg viagra online viagra without a doctor prescription usa online doctor prescription for viagra
buy erection pills prescription meds without the prescriptions treatment of ed
prescription meds without the prescriptions lipitor generic lipitor generic india
reasons for ed atorvastatin lipitor lipitor generic
treatment for ed fda approved canadian online pharmacies fda approved canadian online pharmacies
Surprise!! Scroll to the Bottom to Claim 1 Free Spin Win a Rolex or $15,000 in Free BTC http://freebitco.in/?r=14268596&tag=scrapebox
nsszifvh viagra prescription buy viagra online canada
Win a Rolex or $15,000 in Free BTC http://freebitco.in/?r=14268596&tag=scrapebox
wimwdwfu viagra no prescription buy viagra online cheap
k autosurfing
autosurf services autocad
viagra over the counter https://cheapvgr100.com/ dxvctpie
how much does viagra cost https://cheapvgr100.com/ bhzrtdil
otc viagra https://cheapvgr100.online/ rodkqzer
Taxi moto line
128 Rue la Boétie
75008 Paris
+33 6 51 612 712
Taxi moto paris
I am not sure the place you’re getting your info, but great topic.
I must spend some time finding out more or understanding more.
Thanks for great information I used to be on the
lookout for this info for my mission.
alesse order online buying clomid online yasmin brand
acyclovir 400 mg tablet cost famvir cost canada valtrex gel
can i buy amoxicillin over the counter how to buy amoxycillin bactrim cost
benadryl capsules order benadryl online 125 mg benadryl
5 benadryl pills benadryl for sale in canada allegra 08701
4 benadryl pills allegra sale canada periactin 4mg tablets
buy bactrim online without prescription amoxil pharmacy where can i buy zithromax in canada
zyrtec 10 mg tablet price allegra 20.80 550 mg benadryl
how to buy valtrex online valtrex 100 mg how to get acyclovir prescription
order yasmin yasmin cheap levlen pill australia
cephalexin 500mg capsule antibiotic best antibiotic for cellulitis zithromax 500mg
amoxicillin 200 mg tablet flagyl antibiotic amoxicillin cost australia
Surprise!! Scroll to the Bottom to Claim 1 Free Spin Win a Rolex or $15,000 in Free BTC http://freebitco.in/?r=14268596&tag=scrapebox
Surprise!! Scroll to the Bottom to Claim 1 Free Spin Win a Rolex or $15,000 in Free BTC http://freebitco.in/?r=14268596&tag=scrapebox
eodytzsv viagra price http://viagrastm.com/ viagra prices
jktqzdug cialis free trial http://cialisirt.com/ cialis tadalafil 20 mg
wfftnokr how much does viagra cost http://viagrastm.com/ where to get viagra
is viagra over the counter http://viagrastm.online/ buy viagra online canada
cheap viagra 100mg http://viagrastm.online/ viagra over the counter usa 2020
viagra over the counter http://viagrastm.online/ viagra price comparison
high blood pressure and cialis http://cialisirt.online/ how often to take 10mg cialis
viagra over the counter walmart http://viagrastm.online/ viagra online canadian pharmacy
erection problems https://canadianpharmacyvikky.com ed medicine
cheap medications https://canadianpharmacyvikky.com ed meds online without doctor prescription
treatment with drugs https://canadianpharmacyvikky.com new ed drugs
erectial disfunction https://canadianpharmacyvikky.com ed pills
I am always browsing online for posts that can assist me. Thx!
I enjoy you because of all of the effort on this blog. Betty delights in carrying out internet research and it’s easy to see why. A lot of people hear all about the compelling form you convey advantageous guidance by means of the blog and attract contribution from other individuals about this area and my child has always been becoming educated a great deal. Enjoy the remaining portion of the new year. You’re carrying out a brilliant job.
We are a group of volunteers and starting
a new scheme in our community. Your site provided us with valuable info to work on.
You’ve done a formidable job and our whole community will be thankful to
you.
I’m commenting to let you be aware of of the amazing discovery my child developed browsing the blog. She came to find a good number of details, including how it is like to have a great coaching character to get a number of people clearly completely grasp a number of advanced issues. You actually did more than her desires. I appreciate you for churning out such beneficial, dependable, edifying and cool guidance on that topic to Emily.
erectile dysfunction pills pharmacy open near me canada online pharmacy
ed treatment drugs
https://canadarx24.com/
ed men
ed pills cheap
https://canadarx24.com/
online ed drugs
pharmacy drugstore online online pharmacy canada board of pharmacy
natural ed remedies https://canadarx24.com/ ed treatment
cheapest pharmacy canada rx pharmacy best drugstore bronzer
canadian online drugstore https://canadarx24.com/ new treatments for ed
treatment for erectile dysfunction specialty pharmacy online pharmacy without scripts
pharmacy coupons best online pharmacy best drugstore bb cream
on line pharmacy dollar store drug test impotence
the best ed drug https://canadarx24.com/ best ed supplements
is ed reversible wrthakfk buy generic levitra comfortis for dogs without vet prescription
order viagra online nuigthku buy sildenafil best place to buy viagra online
how much does viagra cost bwhtrvey viagra viagra without a doctor prescription
taking l-citrulline and cialis together khtgfyjg http://edcheapgeneric.online/ cialis dosages
cialis price cialis generic xoqqgnro side effects of cialis
generic for viagra yecgiyft sildenafil buy viagra online cheap
ed meds online canada http://canadarx24.online/ ed causes and cures chlywbuu
eshd amazon viagra http://dietkannur.org dpez qced
cialis money order grsdknvq http://tadedmedz.online/ cialis vs levitra
cialis going generic in 2019 in us tadalafil generic mzwoejtd cialis prices 20mg
buy prescription viagra viagra Without a Doctor Prescription
viagra only 0.2$ viagra only 0.2$
meds without a doctor prescription buy viagra very cheap
If you desire to increase your know-how simply keep visiting this website and be updated with
the hottest gossip posted here.
tinder app , tinder website https://tinderdatingsiteus.com/