I have got knowledge about Expression Blend which is used to create graphical user interfaces (Wpf) in a similar way to Visual Studio. Is it free for download? In any case, can anything produced by Blend be implemented with identical code (markup) in Visual Studio?
Could somebody recommend me a detailed and comprehensive "tutorial" of how to build Wpf in VS and how to develop effective use of its controls?
Everything that Expression Blend can do you can do in Visual Studio, but you'll have to code some of the extra effects directly in the XAML by hand. Essentially Expression Blend gives you automated XAML generation of the fancier graphics, that Visual Studio doesn't.
You'll also find that it will guide you towards MVVM pattern WPF/Silverlight.
I couldn't recommend any single resource myself, but if you search for MVVM pattern WPF on the internet there's plenty of examples out there. Admittedly many are Silverlight, but the basics still stand.
Expression Blend is not free.
Blend is not a must, for being able to design WPF UI.
It can be compared to Photoshop-like applications + it works on XAML without losing DataBinding information. But its "duty" is only design.
As a developer I found myself much more comfortable with XAML manipulation than with Blend.
But, it's a matter of test and a matter of abilities you have.
For examples just google.
This one was just the first in the list I found:
Wpf Tutorial
Expression Blend is not free. But there's a 30day Trial version available.
I use both Blend and VS but as I am more a SW-Developer and not a designer 95% of my WPF work is done with VS.
Everything that you can accomplish with the Blend editor can also be done with the VS Editor.
In VS a lot of stuff like Storyboards have to be coded manually and are quite tricky, there-as Blend gives you tools for this task which makes it a lot easier.
Have a look at this introductory video:
http://expression.microsoft.com/en-us/cc136522
You'll find lots of helpful webcasts on the Expression Website:
http://expression.microsoft.com/en-us/cc197141
Related
I heard good stuff about Xamarin and I liked the idea of designing a page once and using it on all platforms. But the thing that bummed me down is the fact that I have to design the pages with C#, which is a nightmare in my opinion.
I would like to see what I design (I am thinking Expression Blend). Is there any way to use a designer for Xamarin.Forms projects?
I agree with Jon Skeet's comment..
Sadly in answer to your question the answer is No..
although they have just announced Xamarin Sketches which from my understanding is real time displaying of your code in their new android emulator. Whether it is going to be the same as a designer I don't know.
You can find more information here
Based on my observation of Mono/Xamarin products in the past years, they should have a XAML designer in the near future (considering the facts that they already have iOS/Android designers). Xamarin.Forms is still a new concept, so I suggest you be patient and wait for a few weeks (or months).
But note that XAML is in most cases editable in plain text editor. I recently did a lot of Silverlight programming, but I don't even have Expression Blend installed.
Like others commented, what you should avoid is to use C#. That's too difficult to maintain.
you could use the following IDE(paintcodeapp) to put your button and other staff and get generated code for Xamarin Forms.
http://www.paintcodeapp.com/
At Xamarin Evolve 2014, I heard (both privately and in a session) that coming was a "preview" capability. Something that allows real-time previewing of Xamarin.Forms (assuming XAML). That was not described as a visual designer.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I mean, as a normal developer, is there something that I will achieve with Expression Blend that I won't using VS? I have no idea of Expression Blend and at first sight didn't look very friendly / easy to learn.
What do you thing out there? It's worth the time learning to use it or I will do the same as I do with VS?
Thanks!
EDIT: I know what Microsoft says about the tools. What I want to know is if you, as a developer like me, tried Expression Blend and found that it was a waste of time or you thought it was a good tool and you stopped developing the WPF GUIs from VS and switched to EB.
I have it and rarely use it.
I greatly dislike all the extra markup that gets added to the XAML files, and prefer to know what I'm doing to just dragging/dropping items.
The few times I have used it have been to pull out the default styles or templates of a control, or to build something like a gradient, animation, or path, and then copy/paste the XAML into my project.
It's nice if you're into drag/drop coding, or if you're working on a large enough team to be have a separate UI and Coding team, but other than that I don't use it for solo development since I have to maintain the XAML mess it generates.
I stopped developing GUIs in VS and switched to Blend. It was very confusing at first, but I'm now glad I took the time to learn Blend. Most things that you can do in Blend can be done in Visual Studio, but Blend makes them much easier (once you learn how to do it). I constantly astound my fellow developers when I show them how to do something in Blend because a simple drag and drop can replace quite a bit of typing. The thing I really like about Blend is that the design surface is accurate while the Cider WPF designer in Visual Studio often lies to you or misleads you (and is just a piece of crap in general).
Blend can do the following things that Visual Studio cannot:
Create and manage visual states. (I guess you could do this all by hand in VS, but that's just insane for anything even moderately complex.)
Extract and modify control templates.
Easily work with behaviors (I can't imagine doing a FluidMoveBehavior by hand in VS).
Generate sample data for use at design time (reduces coupling of your software components).
WYSIWYG animation editor. (In VS you have to run the application to see the animations; Blend gives you live previews.)
Built in transition effects and easing functions.
SketchFlow (great for making a high fidelity mockup that you can show a client/stakeholder).
WYSIWYG path editor (great for doing simple vector artwork).
WYSIWYG gradient editor.
Import artwork from Photoshop and Illustrator.
These are the sorts of things that can really set your user experience apart from every other freelancer out there. And for the record I'm a developer with no design experience.
It's much easier to edit default styles as you have option Edit a copy which is extracting default style into the new one and you can change it
I find also very useful to edit additional styles like generated content as you can easly see what additional styles control has.
If you are doing animations it can make a difference as you can actually see during desgin time how is it behaving
If you have a dedicated designer in your team it is much more friendly for them as it's similar to photoshop/flash editing software
From my point of view if you are working in a team its enough to have only few expression blends
I always have Expression Blend open next to Visual Studio and switch back and forth between the two when working on Silverlight, WPF or Windows Phone Projects. These are my main resons:
I use a lot of animations and visual states in my applications. To create these you would like to see what is going on. In the visual studio you can't (yet). It's almost impossible to write a real animation or visual state by hand.
Managing resources is something I use Expression Blend for too. Creating new dictionaries and moving resources around is very easy in Blend. It even notifies you when you try to delete a resouce you are using in some place. Finding and editing a resouce is very easy. With a click of a button a property is converted to a resource and ready for use in other places.
One other thing I use a lot is Sample Data. I would like to see my forms and lists filled with data when creating them. Depending on the state of the application I create sample data by hand, use an xml export from the database or generate sample data from code.
Databinding becomes a lot easier when you are using sample data. Just drag'n'drop the property on a textbox and you'll have a binding. Through the databinding editor you can finetune the binding the way you want.
I think there's an easy way to answer your question... all you have to do is ask yourself what is the end result of anything you do in Blend?
The answer is XAML. So if this tool generates XAML for you, why wouldn't you work directly with XAML in the first place? XAML is human readable, it's easy to understand and master and between VS Intellisense and Resharper code completion there's really not a whole lot of typing required.
The time you invest in mastering Blend is much better invested in mastering XAML because Blend is just a tool used to generate XAML in a visual way so working directly with XAML means better understading of the underlying technology and taking full control of your code instead of relying on some black box tool to generate something you don't really understand.
And what if you invest all that time in mastering Blend and you end up in some other company 6 months down the road and they decided not to use Blend? If you don't know XAML, you'll now have to invest more time to learn it and if you do know XAML you'll be good to go in any environment as I really doubt it any company would force coders who need to work with UI as well to use Blend and not allow them to work with XAML directly.
There are a few scenarios Blend would save you quite a bit of time (people mentioned visual states and animations) so it's certainly good to have Blend on such occasions but if you're developing typicall LOB apps there's pretty much nothing there that will make you feel like you really, really need Blend...
When the Visual Studio is more oriented on the developers, Expression Blend is oriented to the designers. It have a lot of predefiend tools whitch can generate a lot of code and simple to use (espessially animations, design issues, etc.). So everything what can be done in Expression Blend you can do in Visual Studio. I'm not sure about viсe-versa.
Here is what said on official site:
Expression Blend, Visual Studio, Silverlight and .NET provide the most compelling and seamless design and development workflow on the market today. Rapidly iterate on both the user experience and core architecture, evolving your ideas quickly from initial prototype through to completed project.
Key components of Expression Blend, including Behaviors, Visual State Manager, transition effects, and SketchFlow (Expression Blend 4 includes SketchFlow in Expression Studio 4 Ultimate product only), coupled with the speed and flexibility of this modern workflow challenge you to push boundaries and work beyond the limits of what you thought possible.
So, it depends on where you are: if you mostly working with the UI layer of the application you may found a lot of useful things in Expression Blend, otherwise if you mostly work with backgound - Visual Studio is your choiсe.
Update
Also check out following tread on SO: WPF Applications: Visual Studio vs. Expression Blend
As a professional developer Expression Blend is invaluable and does many things which VS does not,
Just off top of my head,
Sample data,
Storyboarding,
Far superior datatemplate support
Way better resource dictionary support
Much better Custom Control tooling
Much better XAML control
If you are simply editing very basic UI then Blend wont be of any use stick with VS. Blend is for design and animation it is for front-end.
Blend tool having multi purpose.
I assume it's mainly on
1.build animation(Story Board) in silverlight
2.create WPF/SL/WP XAML layout
If you want to create some animation silverlight/ some data-bound sliverlight application, my answer is yes after i try to use Adobe Edge in 7 days and used flash from flash 4 ,MX2004, flash 5 in long time ago.
To create a fancy animation, Expression Blend still beat Adobe Edge and comparable to Adobe Flash.
And you can write your familiar programming language to control everything just like flash action script.
In my optional, Action Script is quite messy on mid-large project and very hard to debug/maintenance.
I've been designing applications using C# for some time now but I have the need to create a more custom application and Expression Blend was recommended to me. I've downloaded the free trial but it's a little fancier than I expected. I'm not a graphic designer and can't use photoshop to save my life, however I do have images provided by a graphic designer to use for this application.
I'm looking for some good resources for learning Blend and using it as a front end to a C# application, much like I would a regular C# forum.
Tutorials and again and again
Also what about this?
Check out the Expression Blend Starter Kits and the Expression Blend Training videos.
Not a lot of great books out on Blend unfortunately. You really have to spend some time on it yourself to learn it. Also, check out local user group / code camp events if you have them in your area. I know near me there is always someone presenting on Blend in one way or another (myself included)
Just a point of clarification. You said you would like to use Blend as a "front end to a C# application like you would a regular C# form". You seem to have a fundamental misunderstanding of what Blend is and what it is used for.
Blend is a WYSIWYG design tool for generating XAML documents. Blend is not a "front end" to your application. It is a tool you can use to build your fron end visually. Think of it like how you can use Dreamwever (I am dating myself here, does anyone even use Dreamweaver anymore) to build HTML pages visually. You use Blend in the exact same way, to build XAML pages.
Microsoft Design .toolbox is a great series of video tutorials, if you have the time to follow them through.
I'm starting a WPF project in a "free tools" environment. I'm currently working with the designer in Visual C# Express 2008, and directly with the XAML, both of which are very limited in design capabilities. My understanding is that Microsoft Expression Blend is not available for free (except for limited time trial).
Is Expression Blend expected to come out in a free Express version anytime soon? If not - are there any alternatives?
Thanks
No, there is no free version of expression blend (apart from the time limited trial), and there hasn't been any announcement of anything planned.
Several useful tools are:
Kaxaml and XAMLpad for testing blocks of XAML.
StyleSnooper allows you to grab the default styles/templates from all the existing controls in the framework. Very useful if you just want to modify an existing style or template a litte.
Also, reflector has a BAML plugin available which can come in handy at times.
We have expression blend (as part of an MSDN subscription) and we barely use it. We used to use it for 2 things. 1) To grab styles, we now just use style snooper, it's easier. 2) For testing custom templates of complex controls like list views, we have now re factored the architecture slightly to generate test data when the XAML is being displayed in visual studio so we don't have to switch to blend all the time.
I would only reccommend using Expression Blend if you are creating a very complex graphic or animation. For all other intents and purposes, stick with VS 2008. I have been studying WPF for about 3 months now, and I do not use anything other than Visual Studio. Even when I made a couple of games for my kids that had animations and the like, I didn't find the xaml editor to be at all limiting.
Of course, if you want a more light-weight xaml editor, check out Kaxaml. It's pretty efficient.
Will making WPF forms in VS2010 be easier than it is now? I’m just a beginner and I’m finding just learning C# itself is a ton of info to get my head around. But I’ve seen some projects done with WPF and they look awesome. Is it worth my time to start looking into WPF now, or wait till VS2010 where, if I understand correctly, there are better tools for working with it?
Thanks
Even given its improvements, VS 2010 will not suddenly become the holy grail of WPF application creation. You're better off learning the fundamentals (binding, templates, commands, etc) of .NET 3.0/3.5 now. I'd also recommend downloading the trial of Expression Blend if you're interested in the visual aspects of WPF. While you can certainly do most everything coding XAML by hand, Blend makes it much quicker.
Visual Studio will provided better tools to work with WPF, see here for details.
We certainly hope you will find the new Visual Studio 2010 WPF and Silverlight designer helps make working with Forms easier than it was in Visual Studio 2008.
Check out this link for some useful resources on the new designer:
http://blogs.msdn.com/wpfsldesigner/pages/faq-for-wpf-and-silverlight-designer-in-visual-studio-2010.aspx
Let us know what you think!
Mark Wilson-Thomas
Program Manager, WPF & Silverlight Designer, Visual Studio