I would start to write WPF and Silverlight 2D game, i would to find some game engine library,the only one i found on google is FarseerPhysics ( http://www.codeplex.com/FarseerPhysics) and seem quite good. But is there any other recommend for starter?
And one more question is is it any alternate software of expression blend for create Silverlight UI?
See also the Physics Helper for Silverlight, WPF, Blend, and Farseer.
Kaxaml is a lightweight XAML editor with split view.
Related
Not sure if this an appropriate forum for this, but I need some guidance from those who are further down the road than I am with WPF.
I've used Telerik Winform controls for a years and have mixed feelings about them. They look good, but they are deeply nested, have a steep learning curve, and sometimes don't perform the best. For example, just working with a RadWindow in the WPF designer, it's slow compared with native wpf controls.
I like Caliburn.Micro MVVM framework and MahApps metro styles, but to keep the same look and feel for a ribbon bar I'd need to use another third party tool (like Fluent) or just use the Microsoft Ribbon View control and figure out how to use templates and styles myself (or find an existing metro template for it).
I tried to combine Telerik and Caliburn but had trouble getting them to work. There is a Caliburn Telerik library but its based on Caliburn Micro 1.5.2 and I'm trying to use Caliburn.Micro 2.0.2. Problem is I always get an aero-looking full window title bar and frame wrapped around the Telerik styled window.
I just don't know enough about conventions and such to make it all work together. And frankly, not sure it's worth the trouble. I'm looking for a more streamlined approach that lessens my dependence on pricy and heavy third party controls.
So, I'm looking for guidance on whether I should use straight Telerik, straight caliburn or go through the work of trying to get them to work together.
What I would prefer is to use Caliburn as the mvvm framework with a layer of styling, like what MahhAps provides. And for those controls that aren't styled, like the Ribbon Bar, to either use Microsoft's ribbon bar and find templates and styles that would work or maybe a 3rd party control like Fluent. But would I be getting in over my head in trying to learn templates and styles?
Sorry for the ramble, but I'm frustrated and need some help in working through this. Thanks.
I found a great resource that maybe others new to WPF and struggling with similar questions would benefit from: MarkPad, a Code52 project on CodePlex.
It's written in WPF using Caliburn Micro MVVM framework (although it's version 1.5.2 rather than the current 2.0) and MahApps metro styles with some "roll your own" windows. It's a great looking app with the kind of simple menuing system I was looking for AND an MDI implementation. It's also a good example on how to organize a somewhat complex WPF application, something I was also unsure about.
It answers the question: Do I need to use Telerik? The answer is a definite NO. It's a great learning tool for me and maybe will be useful to others.
I am currently looking to build a workflow editor in Silverlight that will allow user to drag and drop couple of objects from toolbox and draw them on canvas, connect it with connectors - pretty much like a flow chart designer.
I have gone through Silverlight Toolkit and some other links on the web, but not really sure how would I accomplish this.
Is there any built-in functionality in Silverlight, or do I need to use any external libraries for proper drag and drop?
How good is Silverlight in drawing custom shapes?
For reference, check "SilverDiagram": http://www.silverdiagram.net/Projects/SilverDiagram.aspx
Appreciate some quick & real help in this regard.
Thanks!
1.Is there any built-in functionality in Silverlight, or do I need to use any external libraries for proper drag and drop?
There is no built in functionality to develop drag and drop in Silverlight. It is always better to develop your own. It is not that difficult.
2.How good is Silverlight in drawing custom shapes?
Silverlight is your excellent friend in drawing custom shapes. But you need to adapt your thinking you are coming from conventional way of GUI programming like WinForms.
There have been posts on this site in the past that say that programming in WPF is difficult without Expression Blend?
Is this still the case with VS2010, or does this new IDE have features that make WPF a lot easier?
I am a developer, but there is no way I would develop XAML applications of any kind without Expression Blend. The value is far too great and not limited to just pretty graphics. Templates, data binding, resource management, layout, rapid design, visualization, etc. are all vastly superior experiences in Blend.
I really struggle with developer rejection of Blend. Aside from the fact that it isn't free or included with Visual Studio there are no compelling reasons to ignore such a powerful tool. Yes, it is different than Visual Studio, and yes, there is a learning curve, but once you know how to use it Blend is unquestionably the right choice.
I understand developers need help through that learning curve. I also understand that Blend is unlike other tools we have used in the past: believe me, I've been there! That's why I wrote the book "Expression Blend in Action: a developer's guide", to help developers over this hurdle. This isn't meant to be an advertisement so I'm not providing the link, but if you're interested you can find it at Manning.com.
I am not sure why people are comparing the development of WPF apps on Visual Studio and Expression. The Simple answer to this question is when you need to do vector designing for your application, Expression Blend is the resource for it. You can't design a control in WPF as per your requirement. Expression Blend supports the WPF text engine with advanced OpenType typography and ClearType, vector-based 2D widgets, and 3D widgets with hardware acceleration via DirectX.
In essence, it is a user interface design tool developed and sold by Microsoft for creating graphical interfaces for web and desktop applications that blend the features of these two types of applications. It is an interactive, WYSIWYG front-end for designing XAML-based interfaces for Windows Presentation Foundation and Silverlight applications.
Expression Blend supports developing Microsoft Silverlight browser-based Rich Internet Applications providing animation, vector graphics, interactivity and video playback capabilities
It depends what you are using WPF for.
If you are writing a line-of-business CRUD application, then there is no need for expression blend at all.
I've been programming in WPF for years, and was only introduced to Expression blend a month ago.
It definitely makes some things easier, in particular animations or vector graphics.
But, if you've become comfortable typing directly into the XAML editor (as most developers are), then it really isn't necessary to do your job.
The short answer is no, it's not required. But Expression Blend is a great UI design tool that can simplify your UI development. It's a tool, like any other, optimized for doing certain tasks. Developers pick tools based on what they do for us. Think about unit tests. Using a Unit Testing framework saves us a lot of time and effort, as the framework people have optimized their tool for the task.
For me, Blend is my goto tool for these features.
Animations and Timelines
Gradient Editing
Control Templates
Template PARTS
Visual State Manager
Resources and Resource Dictionaries
Styles
Sample Data, with DataBinding
Shape Combining
Paths, Layout Paths
Here is just one example. Setting up an multipart animation in Blend might be a two minute job. Writing the same Animation logic in Visual Studio XAML editor may take 5-10x longer. Plus Blend has an animation preview. In VS I have to compile and run my app to see if the animation works as intended. On big projects that build time eats into my productivity.
It is a bit yes and no, you can do Xaml development without Blend but for somethings Blend is a better solution. Personally I stick with VS2010 unless I know that I'm gonna be doing some custom styling or custom UI in general.
You mentioned programming in WPF so take it that you are not a UI designer. Go with Visual Studio, theres's nothing you cant to in Visual studio that you can do with Expression Blend.
Blend is not required for WPF or Silverlight. However, it makes some things a heck of a lot easier. Specifically:
Animations
Extracting control templates
Styling controls without having to build and run everything
You can do all of these things without Blend, but it's not as easy. For example, you can write a WPF program that extracts the default template for a control and then displays it as text. Or if you use Blend, you can click a button. I find that without Blend, I have to constantly do edit/build/run cycles and that takes time. ("Nope, that color isn't right. What if I just tweak it this way a little bit..." and then I'm off to get a cup of coffee as the whole thing builds and runs just so I can check a color.)
Blend saves me time and makes my life easier -- that's why I use it or any other tool.
I need a taper-effect on my transform in WPF.
Charles Petzold wrote some nice stuff about it for example :
http://www.charlespetzold.com/blog/2009/07/Using-the-Matrix3DProjection-Class-in-Silverlight-3.html
But now it seems that the used Matrix3DProjection class only exists in Silverlight, and NOT in WPF..?
(Why would Mirosoft think it could only be useful in Silverlight and not in WPF ?)
Is there any way to get around this ?
Matrix3DProjection is in Silverlight because Silverlight doesn't have full 3D support like WPF has.
You can do everything by using the 3D support.
Yes, Matrix3DProjection is easy and "real" 3D is really difficult and I personally struggled to do something in 3D that would have been easy with Matrix3DProjects and I hope Matrix3DProjection will make it into a future version of WPF - but now that you know the reason don't you feel better? (I don't)
I'm a newbie to WPF and I'm developing a brand new windows desktop application and I would like your opinion on what WPF framework I should use. I know this question has been asked before, but the last question was asked at least several months ago. A lot has changed since then.
Right now, I'm using MVVM Light which is more of a library than an actual framework, as the name suggests. I’m looking for something more comprehensive. I prefer a framework that I can use on future WPF projects. Consequently, it should be general purpose and productive.
Any insights or suggestions?
If you are a newby I would suggest that you try to use PLAIN WPF first to get a feeling for it instead of right away extending WPF with other frameworks.
Your title is a bit confusing. WPF is just a graphics/UI layer. WVVM is a Model View ViewModel framework, for implementing a MVVM pattern using WPF ( or Silverlight ).
So, are you asking what design pattern you should use for your WPF application? ( As in MVC, MVVW, MVP, etc... ) Or are you asking which MVVM frameworks are compatible with WPF?
Ugh, acronym soup.
As to my answer, if you are new to WPF and want to learn WPF, I would start with no framework, you can always refactor later once you have a good solid grasp of the underlying technology.
It's definitely on the heavy weight end, and plenty of people will warn you about it, but you seem to be asking for CAG
http://compositewpf.codeplex.com/
It's a pattern that comes with a sample implementation that you can bend into your own. For example, it comes with Unity for IoC, but you should be able to put in another IoC container.
The download comes with a lot of samples for both Silverlight and WPF.
Caliburn (http://caliburn.codeplex.com/) handles a lot of shortcomings of the WPF inherent model (like writing a ton ot stupid routing code for events) and introduces MVVM ;) My bet ;)
You might have a look at the WPF Application Framework (WAF). The sample applications show:
View composition
UI Workflow (Wizards)
Command binding / Shortcut Keys
MVVM pattern, Unit Testing
Validation
Entity Framework
Open/Save FileDialog
Print Preview / Print Dialog
Localization