WPF - Sample App, Step by Step - wpf

I'm new to WPF development. Is anyone aware of a site or resource that builds a somewhat simple WPF application step by step, with ample explanation and/or documentation?

Scott Hanselman has a series of blog posts in which he builds a WPF application called "BabySmash", sounds like it might be along the lines of what you're looking for. The first post is here, and all of the posts can be found under the BabySmash category on his site.

Months before I was also searching for stuffs like what you asked. Here I can provide you the best link for building a WPF application step by step with total documentation. This project demonstrates where to use which controls at what extend.
http://blogs.msdn.com/b/tims/archive/2007/06/13/wpf-hands-on-lab-build-an-outlook-2007-ui-clone.aspx
It is a hands-on lab that demonstrates the steps to create a user interface for business applications using WPF and Expression Blend.
Have a nice day.

Related

DataAnnotations Validation only implemented in MVC?

I somehow missed the introduction of DataAnnotations. I’ve been looking at them off and on for the last couple of weeks. It seems like everything I’m finding ties back to MVC. Are there any full implementations for doing validation with WPF, WinForms, etc.?
If so, any pointers/links would be appreciated.
If not, are there plans to introduce integrated support in the future?
My current interests lie in WPF so that's really what I'm looking for.
TIA
Karl Shifflett from the Microsoft patterns and practices team has a detailed video on how to use the Data Annotations attributes in WPF. His source code is available via a link at the bottom of his blog post on his Stuff demo application.
Data Annotations is a nice middle ground between that and the ad-hoc validation one would normally see in the WPF books and tutorials and the more powerful Enterprise Validation Application Block that #Evan Larsen mentioned above. Plus, as you noticed, using Data Annotations allows for sharing of models with ASP.NET applications.
Regarding WPF, DataAnnotations support is not built in, but it shouldn't be too difficult to hook in to your own app.
The demo app of my open source library PDX shows one way to do it, but the documentation for 0.2 isn't quite finished yet :)
Here's another way to do it: http://babaandthepigman.wordpress.com/2010/02/14/wpf-commanding-and-data-annotations-validation/

How to convert old project to WPF

We have lots of project developed using .net 2.0 version if I want to convert those project to WPF then what will be the approach. Please discuss in detail.
to let the migration to WPF easy, be sure that your existing code doesnt contains a high coupling between GUI and your Business layer, if it's the case the most important step is to refactor your existing code, so your GUI code will contains only what's related to GUI.
And after this step the part of your project to migrate will be not the big one, it will concerns only the GUI logic.
When I did this kind of migration from winform to WPF , we spent more time to remove coupling between GUI and other layers than to migrate the GUI layer, due to high coupling betwn GUI and other layers.
Having gone through a similar exercise I'll tell you that it can be done but there are some challenges.
Step1: Just for clarification when we say WPF some people mean Silvelright / web. WPF is not Silverlight so you need to clarify I want to migrate existing applicaitons to WPF thick client applications. Since you stated WPF I am assuming you mean thich client/windows based applications so we'll go that route. (I'll mention SL at the end)
Step 2: Evaluate your projects from the code level for the most part refactoring the code is fairly easy. Since you are migrating from .net 2.0 to .net 4.0 I would really look at how many of your classes are defined, and see what can be refactored or in some isntances completely redesigned. THis leads us directly into step 3.
Step 3: Pick a design pattern. One of the tricky parts is coming to terms with a new design patterns such as MVVM for WPF. More than lilkely you will want to strip out and redesign the entire UI. As a result you will also want to utilize a proper design pattern (MVVM) or some flavor of that. This will also tie back to step two as some of your code will need to change to support your design pattern.
There are a ton of resources online for MVVM as well as UI development. If you are looking for reading materials I would look to WPF 4 unleashed as well as WPF illustrated. Both are good reads to help you get up to speed on the UI components how they work and the proper approach to using them in a project.
Get familar with .net 4 and the use of collections, types and of course the numerous new classes for wpf.
Disclaimer: You can in many instances create a WPF application usign tradition winform layout and practices. Whether this is right or wrong is a matter of opion of the developer. My personal opinion is that yes you can forego learning new design patterns and use a winform approach but you will not gain the full benefit and capabilities of the framework using this approach.
And finally if you are planning to migrate these apps to the web (silverlight) your work will be a little more of a challenge. Silvelright does have a little higer learning curve and there are a few more rules (security, asynchronous calls, web services etc) that must be learned, and followed. I have foudn that in creating a migration that it is easier to migrate from Siverlight to WPF that vice versa. As Microsoft continues to improve Sivelright I think we will get to the point to where the code is interchangeable between the two patterns however right now it's not there.
Conduct a search online but here are a few links to help you get started:
Scott Guthrie (Silverlight) http://weblogs.asp.net/scottgu/default.aspx
Josh Smith (WPF MVVM) http://joshsmithonwpf.wordpress.com/
best of luck

Looking for source codes of silverlight application that uses PRISM framework

I'm new in silverlight and prism framework and I want to explore some working silverlight applications that are based on prism.
As well as the included samples, there's an interesting set of articles here, complete with source code.
There's also some source at Elegant Code which I found useful, as well as a whole list of examples and tutorials at Patterns and Practices Guidance.
Also be aware that there are many alternatives to Prisim, and you could always write your own simple MVVM architecture if you were interested in learning more about it. For more information, Jeremy Likeness has a great article over at code project about the architecture, entitled MVVM Explained. I found this to be hugely helpful when developing my first Silverlight MVVM application.
Check out Prism hands-on labs and quickstarts (make sure to scroll to the bottom of the page):
Also, you may find this episode on Understanding the Value of Prism useful.

WinForms controls sample projects

I need some sample projects from which students can learn how to use WinForms controls.
I can`t find nothing on web.
Thanks
The "Using Controls" category in the Windows Forms FAQ at windowclient.net contains some reading.
If you are ok with using a 3rd party control library, Component Factory's Toolkit has an extensive set of examples that are very well thought out and extremely helpful. Off the top of my head, I believe there are about 30 examples, each having its own Visual Studio Project, all rolled up in a single solution. You can get the toolkit here: http://www.componentfactory.com/free-windows-forms-controls.php

Do you know any real-world, useful WPF/Silverlight applications using MVVM?

I'm looking for code of full applications that (1) use the MVVM pattern and (2) are approachable for WPF/Silverlight/MVVM beginners. So far I have only found:
Crack.NET - A runtime debugging and scripting tool (useful but quite complicated)
CipherText - WPF Password Manager (perfect but written in VB.NET)
What are some others?
preferably smaller helper apps or tools that use MVVM but that have a completed feel, perhaps with WPF/Silverlight graphic/animation goodness, etc. which show not only the MVVM concepts being used but in a context of a real-world, completed application
My Contribution
Thanks for all the tips, I collected together a list of 15+ MVVM code examples and posted the here:
Overview of WPF/Silverlight code examples that help you learn MVVM.
I too class myself as a beginner in MVVM developing a large scale application for about a month now. I'm over most of the main hurdles, but keep getting confused up by a few things.
Be careful with the suggestions from Kent. They'll get you started, but the subtle differences in Silverlight and WPF will trip you up occasionally (triggers are one).
I don't know of any full sites, but I started with the Composite Application Guidance and PRISM libraries. These a little too cumbersome for a 'beginner' and just MVVM, but some of the concepts are very useful (event aggregator for example).
I suggest that you read blogs by Josh Twist, Josh Smith, Shaun Wildermuth and Nikhil Kothari. These guys are very knowledgeable. They are also very open to answering questions too.
What is your development background? Some of the concepts surrounding method calls, responses and delegation are a real break from "traditional sequential" coding techniques.
Given the question, you may be interested in the current effort going on to create a "Pet Shop" type reference implementation for M-V-VM. You can join the conversation or follow progress here.
I've been using MVVM for the last couple of months on a project and it's been fantastic. I've been doing UI work for over 12 years and it's the best thing I've come across.
I have been using MVVM for about 2 years now, and I can say that it is a resounding success. I have shipped one large-scale medical imaging solution using MVVM in Silverlight. I am also about to ship a complicated WPF application using Prism and MVVM extensively. In fact, I don't know how I'd achieve some of my problems elegantly without MVVM in this more recent application.
+1 on MVVM. It works. It is testable. It is extensible. It facilitates developer-designer workflows. It ALSO doesn't have to be messy and plumbing-heavy.
In addition, I created a medium-sized Silverlight application using MVVM for the CodeMash conference in January. You can see it and get the source code here.
Try this one. Also, Family.Show may be useful.
The WPF Disciples group has decided to create a real-world MVVM + Mediator reference application similar to the Pet Shop refence application for Web Apps. Your can follow the development on codeplex here

Resources