I have created a trading application in WPF, for which I am ashamed of it's shabby look since it is far from being impressive.
I would now like to redesign the user interface for my application, and make it similar to an example screen shot of a trading application
Can someone please advice tips on what path I should follow to make a UI of similar nature? eg., if there is an open source C# WPF application which has a similar look and feel, that would be great. or if there is a library which has cool listview, scrollbar and progress bars, ..
PS: I do not have microsoft blend
You should follow the MVVM pattern for creating UI's for wpf application
http://msdn.microsoft.com/en-us/magazine/dd419663.aspx#id0090025
Refer the josh smith blog for WPF MVVM
http://joshsmithonwpf.wordpress.com/a-guided-tour-of-wpf/
Hopefully you would have completed your application by now. If not:
Try understanding the sample Stock Trader Reference Implementation application by MSDN built using WPF, MVVM, and Prism and you would get a head start for creating your kind of UI and implementation.
You can call it as a suggestion not an answer exactly. But posting for those who are new to WPF and learning screen designing or patterns. According to my experience with WPF I can say first get you hands dirty learn how binding works because that is the base of WPF.Simpler way to learn how binding works is learning how to bind controls with other controls. Then use simple classes and learn MVVM. Next go for command binding within MVVM perimeter. Keep the prism to the last, because you need good understanding of binding mechanisms, commands, MVVM and more to understand PRISM. After this you will have idea of how these things work together and will help you figure out how to play with data and screen together and design nice screens. Again, Not an answer to the above question. Just suggestions to those who are learning WPF and landed here looking for WPF UI designing.
Related
I'm creating a new WPF application with (my first WPF app):
.Net 4.0
MVVM Light
C#
MahApps Metro
I've started with the Login View (Hehe, obvious right?). Well, I'd like to preserve information of the current user logged into the app so I can hide/show elements based on the profile and some other similar tasks.
I'm familiar with Ruby on Rails/MVC and Devise. In Devise you have the current_user object along all the project and you can use it for several purposes.
I know that MVC and MVVM are somewhat different concepts so, I don't know for sure if the same approach is valid for MVVM/WPF.
Is it valid? If so, how can I do it with MVVM Light?
I'm facing a problem where I don't know on how to implement the WPF. I admit to be pretty new to WPF.
I got a complex project which I abstract here a lot. The project is to manage a lot of different usb devices. This device are managed within one class ("manager-class") which handles connecting, disconnecting, settings for the devices, receiving data and more automated routines.
I created a WPF but I'm not sure on how to get the data into the WPF as a lot of things (connecting/disconnecting/updates) I need to show live on the WPF. I started by creating some dockpanels within the C#-code of the WPF. This works in order to build up the startup structure. The problem I'm facing is to send a signal to the WPF that "manager-class" got updated and I also have to update the WPF (add panels, set checkboxes etc.).
I appreciate any hint as I don't really have starting point to implement this.
Take a look (google or bing) at databinding,INotifyPropertyChanged and observable objects and collections in context with WPF. You'll find tons...
Here is a example of simple data binding http://blogs.msdn.com/b/wpfsdk/archive/2006/10/19/wpf-basic-data-binding-faq.aspx
When you feel save enough with this I would suggest to research for MVVM. This pattern helps a lot in XAML based languages to structure and seperate concerns of your code...
HTH
I am a Silverlight developer and in Silverlight we made use of PlanarProjection to create such effects. Infact this is the article along with demo project in Silverlight by Mike Taulty:
http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/04/27/silverlight-3-simple-flip-control-built-on-planeprojection.aspx
How can we make such a realistic control in WPF because there is no PlanarProjection (2.5D) in WPF4. Can you provide me any code or guideline or sample project along with source code?
WPF lacks the PlaneProjection of Silverlight. It's annoying that these incompatibilities exist, but admittedly the problem is usually Silverlight lacking a WPF feature. So this time for WPF developers the shoe is on the other foot!
If what you want is PlaneProjection, here is an article that implements a feature with similar capabilities:
PlaneProjection in WPF (previously, link is now dead)
which itself also references some other attempts.
But if what you want is a WPF dual-sided content control with flipping similar to the article you linked, you can use Josh Smith's ContentControl3D:
Introducing ContentControl3D
Rotating WPF Content in 3D Space (The Code Project)
This control can flip front and back content in a very configurable way. I wouldn't be surprised if Mike Taulty's implementation was inspired by it.
Someday WPF may have PlaneProjection and then the same technique will work for both Silverlight and WPF. Until then, you can easily adapt the simple PlaneProjection flipper to use the same API as ContentControl3D as a compromise.
There are some projects that could use WPF at work, for the sake of adopting new technologies.
But the problem is, I can't jump start WPF easily. I recognize the learning curve is steeper than Winforms. Though even with Winforms one can start doing UIs and programmatically customize them in a day.
So the problem is:
I don't have any resource to quickly learn the fundamentals of WPF at work. I can't read a book from cover to cover before I do the simplest of things.
Most tutorials on the net, just does things that excludes the fundamentals. i.e. they post partial xaml code I can't even put into my xaml code correctly (VS highlights them in red).
I can't justify using WPF over Winforms where there is no significant gain for prety much all projects I can think of. And the learning curve just makes things worse.
So I can't suggest my manager to use this tech over the traditional Winforms, but I want to.
Is there a guide or a tutorial on the net, or a video that explains the fundamentals of WPF so I can explore everything else on my own, except the more complicated tasks?
Fundamental of WPF video from Mix07.
Windows Client .NET get started section has lots of WPF Videos.
Channel 9 WPF content.
Windows Presentation Unleashed is a very good book.
MSDN content for WPF.
MSDN magazine articles on WPF.
Well, the basics are there. You can drag and drop controls onto a XAML surface in VS.NET 2008 just about as easily as you can with Windows Forms. Sure, there's the binding syntax stuff, but getting started isn't too bad.
But you DEFINITELY need to buy a good book on it. You don't need to have read it from cover to cover in order to get started. A decent book will have you up and running in a chapter or two, and you can take it from there. Just make sure that whatever book you buy, it was published after .NET 3.5 (and SP1 preferably) came out.
Also, understand WHY you want to use WPF. Is it just because it's new? Then you're right, that's not a good enough answer. WPF does have some big benefits though:
A powerful binding expression syntax that actually works
No need to repaint your own windows in response to WM_PAINT messages
_ (corrollary to the previous point) It's much easier to owner-draw and make your own controls
MS is spending a LOT of effort to actually develop it
MS is spending minimal effort on developing WinForms
If you need 2d/3d data visualisation WPF will pay by itself quickly and it's very evolving...
Personally I've got in that boat because all 3d hardware acceleration (opengl) wrapper in c# are dying so the solution for a maintened 3d looks like wpf or xna...
I'd suggest you get either expression blend or vs2010 beta ... vs2008 just don't speak wpf enough to help someone who doesn't know exactly what he's trying to do.
We are using Winforms using the Infragistic framework.
We are considering the move to WPF. The problem is that we have already several forms, dialogs etc in Winforms. We need common look and feel thus we need to migrate all to WPF.
Is there a migration tool to take Winforms and migrate to WPF? I know it is not possible to do it completely but is there something that will do some of the work?
Thanks
In my opnion, and depending on your architecture, a one on one translation is not really the right approach to go here: consider why you want to move to wpf, and evaluate whether you really want to commit to it. It's a powerful framework, but there's quite a steep learning curve and to be really worth it you need to take the time to look at the user experience and see how wpf can help. If you want to have the winforms look and feel, and just move to wpf because it's the next new thing, you're in for an unpleasant suprise.
Anayway, what we've done while migrating our winforms stuff is to make new screens in wpf, and keep hosting the old winforms screen using ElementHost and WindowsFormsHost. These work really well by the way - we haven't had any problems with them so far. We then migrated screen by screen to wpf. Looked like a Frankenstein in the mean time, but at least we had regular feedback and everything was functional.