Visual Studio Development Bookmark and Share   
 index > Visual Studio WPF Designer > What's new in Visual Studio 2010 for WPF & Silverlight developers ?
 

What's new in Visual Studio 2010 for WPF & Silverlight developers ?

Hi WPF designer forum users!

As readers of the WPF designer forum, I thought you would like to know that as of MIX09 last week, we now have somevideo available for you to take a look at if you're interested in understanding what new functionalitywill be in Visual Studio 2010 for WPF & Silverlight developers.

It would be great if you could spare20 minutes towatching thisvideo:

http://videos.visitmix.com/MIX09/T73M

Once you've watched it, we would really love to hear your feedback on the new version's features, and whether it solves the more important problems that matter to you in WPF & Silverlight development today (or not!).

You can respond here, or via twitter
(Tag #VSDesignerSLWPF)

Thanks!

Mark Wilson-Thomas
Program Manager, WPF & Silverlight Designer, Visual Studio


Mark Wilson-Thomas - Program Team - WPF & SL Designer for Visual Studio - posts are provided 'as-is'
Mark Wilson-Thomas  Wednesday, March 25, 2009 1:10 AM

Well, I'm certainly very happy to get comprehensiveIntelliSense and a resource binding wizard. Good job!

While browsing the MIX09 website, I noticed another video on WPF 4 that people might be interested in -- not sure if it's already been posted on these forums:

http://videos.visitmix.com/MIX09/T39F

edit: Looks like this is really the "prequel" to the T73M video so people might want to watch this one first!

Chris Nahr  Wednesday, March 25, 2009 12:53 PM
Thanks for the feedbackChris! I'm glad these features are making sense for you.

The other session you mention (T39F), as well as having lots of great WPF 4 content, has a 20 minutesection where I givea bit more depth on the Data Sources window in WPF, and then has some overlap on using the Databinding expression builder in the property browser, but itdoes not show the new Silverlight designer as it was a WPF-focussed session.

T73M stands alone as an overview of features for both Silverlight and WPF in the new Visual Studio, unless you need the details on how the Data Sources window gets populated. Watch away by all means though :-)

Thanks
Mark


Mark Wilson-Thomas - Program Team - WPF & SL Designer for Visual Studio - posts are provided 'as-is'
Mark Wilson-Thomas  Wednesday, March 25, 2009 8:05 PM

Please fix designer crashes, and add small font support.


Hard Core Soft Ware
musthafa manikkoth  Tuesday, April 14, 2009 7:31 PM

Thanks for the feedback Matt. We definitley take any crashing or hanging issue in our designer seriously and understand how frustrating these issues can be.

  • We have already fixed an important set of crashing issues in our KB958017 Hotfix for Visual Studio 2008 (these fixes areof course rolled into the new Visual Studio 2010 release, and also rolled into the Silverlight Tools for Visual Studio RTM release)
  • We are also working (as we speak) on testing a potential Hotfix for the Visual Studio 2008 Hangs which some WPF designer users have been seeing - we will make an announcement on these forumsas soon as there is more to say on this topic.
  • If you have a designer crash issue in Visual Studio 2008's WPF designer,that you don't think is already being addressed, please contact me directly at mwthomas at microsoft dot com, and I'll work with you to capture a crash dump and ensure your issue recieves the correct attention

Please can you clarify what you mean by "adding small font support" ? I'm assuming that you mean a change to the WPF platformhere, rather thana Visual Studio designer feature?

Thanks
Mark


Mark Wilson-Thomas - Program Team - WPF & SL Designer for Visual Studio - posts are provided 'as-is'
Mark Wilson-Thomas  Tuesday, April 14, 2009 8:37 PM
Hi Mark,

I might be wrong, but it seems the Expression Blend designer is much more stable and superb (of course, putting aside the XAML editor) compared to the VS one.

Why don't you guys use it instead of reinventing the wheel?

Thanks!
Maximilian Haru Raditya
Maximilian Haru Raditya  Monday, May 04, 2009 7:18 AM

Max:

The blend designer has lots of problems too. No right click support, problems refreshing content, no intellisense,problems withobject selection, problems displaying preview under certain data/web services scenarios............. However with VS2008 Blend was the way to go.From playing with theVS2010 beta,blend doesn't look nearly as appealing.

Mark: So far the VS2010 Beta 1designer has exceededour expectations keep up the good work!

AviationPlanning  Sunday, May 24, 2009 5:26 AM
One of the most infuriating traits of VS2008 is that in the designer, when you move a control around, it changes the anchor settings automatically for you. I HATE that, because I then have to go and manually change the anchors back to what they were. Has this been addressed in VS2010?

Next on my long list of frustrations with 2008 is that I can't edit an existing control template like I can in Blend. This is - well - annoying as h*ll.

Finally, what I would like to see is a tool that converts XAML to C# source code. Why? Because we need to obfuscate our code, and we all know that the XAML prevents us from being able to do that.


John Simmons - outlaw programmer  Sunday, May 31, 2009 11:14 AM
@John Simmons:

I have some good news for you: the behavior you hated (changing the anchor settings automatically based on the quadrant of the parent container) has been removed from Visual Studio 2010's designer - you were not alone in not liking this behavior, and we will now only change the alignment/anchor for you if you ask us to (by pressing the anchor adorners, or using the property inspector or XAML pane). We will also always set the alignment to top right when a new control is created, regardless of where you create it. We hope this helps, and would look forward to your feedback on the Beta1 release. You will also find that the designer deals much better with cases where you use Auto sizing.

You'll be less pleased to learn that we have no plans to support control template editing in Visual Studio 2010; however I should explain that we have done this because the Control Template editing scenario is well taken care of by Microsoft Expression Blend, sowe felt it was better to concentrate our resources on the RAD databinding/resource find and apply/Property Browser capabilities we have introduced in this release, bringing our capabilities for WPF and Silverlight line of business application developers more closely into line with what was possible in Windows Forms.

I'm not aware of any tool that lets you convert XAML to C#, and I'll forward your comment on obfuscation of XAML to the right folks here to get an answer for you.

Please send me your long list of frustrations with 2008 - seriously! Drop me an email at mwthomas at microsoft dot com - I'd like to make sure we understand your frustrations properly and let you know which ones we've had a chance to address.

@AviationPlanning:
Thanks for the complements - keep trying the beta and let us know how it wears with use.

Forum users may be interested to hear that we now have a library of video and documentary content for Visual Studio 2010 WPF and Silverlight Designer on windowsclient.net at www.windowsclient.net/wpfdesigner - check it out and let us know if it helps. We plan to add a lot of new content to this library to help you get oriented and productive in the new designer.

Thanks
Mark
Mark Wilson-Thomas - Program Team - WPF & SL Designer for Visual Studio - posts are provided 'as-is'
Mark Wilson-Thomas  Friday, June 05, 2009 11:51 PM
I have some good news for you: the behavior you hated (changing the anchor settings automatically based on the quadrant of the parent container) has been removed from Visual Studio 2010's designer - you were not alone in not liking this behavior, and we will now only change the alignment/anchor for you if you ask us to (by pressing the anchor adorners, or using the property inspector or XAML pane). We will also always set the alignment to top right when a new control is created, regardless of where you create it. We hope this helps, and would look forward to your feedback on the Beta1 release. You will also find that the designer deals much better with cases where you use Auto sizing.

You'll be less pleased to learn that we have no plans to support control template editing in Visual Studio 2010; however I should explain that we have done this because the Control Template editing scenario is well taken care of by Microsoft Expression Blend, sowe felt it was better to concentrate our resources on the RAD databinding/resource find and apply/Property Browser capabilities we have introduced in this release, bringing our capabilities for WPF and Silverlight line of business application developers more closely into line with what was possible in Windows Forms.

Regarding the anchors, I would personally prefer that the default be top/left. It would actually be more helpful if that was configurable in Tools|Options.

Well, being told to use Expression Blend (and spending another $500 to get it) simply ain't right. In order to override the content/appearance of a control, we NEED to get the original template for a given control, and making us use another tool to do that is ludicrous. You could make the WPF designer 1000% better simply by adding that single capability. I shouldn't have to open another tool (with a completely different interface, BTW) just to do something the IDE should be able to do. Sure, I can add a few lines of code to my project to retrieve the template via the debugger, but as a workaround, we're talking suckage on a grand scale. When I complain about Blend, people say "but blend is for designers". Well, it's NOT for designers if Microsoft itself is saying that programmers have to use it to perform necessary (and critical) programming tasks.

And just in case you didn't know, I have yet to find *anybody* that thinks the WPF designer is worth a d*mn. Generally, I don't mind it too much, but given the relatively unstable nature of the IDE (VS2008), the tool essentially sucks. I admit to having a significant dislike for writing WPF apps. The current state of the tools (and evidently, the future state as well) makes me really dislike coding in WPF. The IDE constantly freezes up on me (it has *never* done that when I work in ASP.Net or WinForms), the designer is very fragile, I have to use Blend to do part of my work when I shouldn't have to, and there are apparently a lot of secrets involved in writing WPF that new adopters (like me) are finding difficult to coral in one place. I'm sure google is going to start charging me for searches sometime in the near future because it seems I need to reasearch every little thing I need to do.

I've been in this industry for over 30 years (before Microsoft was even a gleam in Bill Gates eyes), and I'll give you some free advice. If you want uncensored, honest feedback, you really have to "walk among the people" instead of waiting for them to come to you. Don't ask for the feedback - just watch it happen. Visual Studio has so much usage inertia that folks are bound to talk about it without being prompted. A good source for unprompted feedback is CodeProject.com. Those guys (and I'm one of them), eat/live/breathe Visual Studio in all of its evil incarnations - I've personally been using Visual Studio since Visual C++ 1.0 was released. There is an almost-daily "Why WPF sucks" thread posted in the Lounge (and I'm not the only instigator here).

Finally, I posted a bug in this forum yesterday regarding syntax highlighting in the XAML editor. It doesn't have any response yet, but I hope you guys address that in VS2010.

Thanks for your time, and I recognize the difficultly of your position. I'm just one old and very opinionated programmer, but since I pay for MSDN subscription, I feel entitled to ____ and moan constantly, even if I'm wrong once in a while. :)


John Simmons - outlaw programmer  Saturday, June 06, 2009 12:36 PM
Hi John,

Regarding the anchors, please accpet my apologies: I mistyped my response. The default setting for the alignment anchors is indeed Top Left (where it belongs in the natural order of things!). The feedback on making it configurable is useful; we'll consider that for future releases.

In terms of Expression Blend usage: for a long time now I've been saying publiclythat Blend is for design tasks (rather than "just for designers"). So in that sense, I agree with you that Blend isnot just "for designers". I know that doesn't address your point about the additional cost of the tool or the other issues you raise with it elsewhere. So that we understand your situation properly, I would be interested to know from your experience,how many times in a typical WPF project cycleyou find yourself needing to fully re-template an existing control rather than simply re-styling parts of it or picking up a template from a library of some sort? How does the frequency of that retemplating task compare with other typical WPF tasks such as basic screen layout, configuring databindings,finding and applying styles etc?Putting aside the argument about cost for a moment, do you find the workflow between the Visual Studio and Expression Blend environments lets you achieve that goal satisfactorily?

Regarding your comments about the stability of the existing Visual Studio 2008 designer, we've been working to elminate some known issues. As such I wanted to let you know (if you had not already discovered these)about theHotfixes which are alreadyavailable for Visual Studio 2008's WPF designer and can make your development life smoother:

1.KB958017 (http://code.msdn.microsoft.com/KB958017which has been out for quite a while now and is also rolled-up into the Silverlight Tools for Visual Studio 2008 SP1 - please don't install it if you already have the Silverlight Tools) fixes a number of late-breaking issues in VS2008 SP1's designer (including some crashing issues)
2. The more recently issued KB963035 (http://code.msdn.microsoft.com/KB963035) solves in intermittent hanging issue in the designer which some customers had reported
3. The CLR team has recently issued a hotfix for an issue that affected some WPF designer users and could cause "hard crashes" in which noWatson dialog would appear(http://code.msdn.microsoft.com/KB963676- it says it's for MS Exchange but also fixes the WPF designer "Grant Set Exception" failure)

Wecertainly recognise that the Visual Studio 2008 WPF designer requires a fair amount of expertise on behalf of WPF (and Silverlight) developersbefore they canbecome fully productive - and that's why we've put in the effort we have on making life easier in the new Visual Studio 2010 designer. I would really like to hear what you make of the new designer and its features beyond the lack of a control template editor - are there other things you find yourself doing regularly that you don't see the new designer helping with?

I'll take a look at your other post regarding syntax highlighting and make a response there.

I want to assure you and our other customers that we onthe WPF and Silverlight designer team take our customersfeedback very seriously. This is why we spend a lot of time both on public forums like this one and codeproject, and proactively at other venues (Blogs, trade shows, developer user groups etc) , looking for and responding to your feedback. Thanks to you and othersfor taking the time to provide it to us; constructive criticism ofour productsfrom those whobuythemis always welcome.

Regards
Mark Wilson-Thomas
Program Manager, WPF & Silverlight Designer Team, Visual Studio

Mark Wilson-Thomas - Program Team - WPF & SL Designer for Visual Studio - posts are provided 'as-is'
Mark Wilson-Thomas  Monday, June 08, 2009 5:23 PM
Some personal history: I've been programming for 30 years, and I taught myself Pascal in the early 80's, C/C++ in the late 80's, and started Windows programming around 1990 or so. About two years ago, I switched from C++ to C# and .Net (again, self-taught). Finally, I got my current job. In April, the powers that be decided that our flagship app should be converted from Oracle Forms to WPF (the original plan was to convert it to WinForms). I didn't (and still don't) agree with the decision to go with WPF because I don't think it's appropriate for enterprise-level LOB applications for the following reasons:

0) The requirement for DirectX. We sell our software to businesses, and as Microsoft is painfully aware, many businesses have seen no reason to move to Vista (notice that I didn't say "upgrade").

1) Shader 2.0 support on the part of the hardware for non-deprecated bitmap effects

2) NONE of the team members had experience in WPF are the primary reasons why), but they want what they call "pizazz" in the application. At this point, I am the "goto guy" for the interface because like I always do, I dig deep and hard into whatever I am tasked with. In this case it's WPF.

3) WPF in general is buggy (or "quirky" in Microsoft-speak), and is an immature evolving technology. This presents a problem because we probably won't move to .Net 4.0 development because of some weird perception on managements part that we don't want to "force" our users to upgrade to .Net 4.0. I'm thankful that we can still use VS2010 because we can stay with .Net 3.5 but take advantage of the improvements in the new IDE.

That being said, I have attacked WPF in my usual style - no holds barred, throw stuff at the wall and see what sticks. Some stuff that doesn't stick:

0) The IDE crashes with all too much regularity. To be honest, this is the FIRST time I've had the IDE crash on me since I started using Visual C++ back in 1990/91. This REALLY kills productivity, and it happens to everyone on the team, but it happens to me the most since I'm the one modifying the interface the most.

1) Having to completely re-template a control - I'm baffled by the requirement to completely re-template a control in order to change the appearance without losing original functionality. A good example of my experience with this is the TabControl and TabItem. If you want all of the original functonality, but want to change a single visual aspect, you have to retrieve the ENTIRE original template and modify it. What is the reason that there's no "BasedOn" property like you can do with Styles? This is what tripped me offline on having to use Blend. I either have to write some temporary code or use Blend to scrape an existing template. That's insane. BTW, "use a control from another library" doesn't teach me anything, and generally speaking, no 3rd-party control has ever been exactly what I want.

2) If you guys are going to insist on us using Blend (which will continue to tick me off), it needs to have the same interface as the IDE, and for the IDE features it includes, it has to have the same functionality (adding a reference in Blend is a joke).

3) I recently reported what I think is a bug regarding character casing of programatically applied text in a TextBox, and was told that because the behaior I cited is documented, that it's not a bug. That's just a load of solified bull methane. WinForms does it one way, and WPF does it another - that's just wrong, and the change appears to be arbitrary.

4) Why - in the name of all that's holy - isn't there an "Activated" event for TabItems? (This might best be posted as it's own thread.)

5) Window and UserControl code templates should include two constructors - one with no parameters, and one with a parameter for the owner window/control.

I will freely admit that some of this stuff is merely teething pains, but there are other things (IDE stability, and the Blend issue) that are not. This really impedes my ability to "like" WPF. I'm fully willing to be talked down from the bell tower and into giving up my weapon, but Microsoft's promises regarding the IDE are often left un-realized by the developer community (you guys REALLY need to recommit to the native code guys doing MFC and C++). I have no tangible reason to believe this will change.




John Simmons - outlaw programmer  Thursday, June 11, 2009 10:38 AM

4) Why - in the name of all that's holy - isn't there an "Activated" event for TabItems? (This might best be posted as it's own thread.)


Can't argue with your other points but this one's simple: just use the SelectionChanged event on the TabControl that hosts the TabItem.
Chris Nahr  Thursday, June 11, 2009 2:51 PM
5) Window and UserControl code templates should include two constructors - one with no parameters, and one with a parameter for the owner window/control.


Another thing: are you aware of the new C# 3 property initializer syntax?

var win = new Window() { Owner = ownerWindow };

I'm not really missing constructor overloads thanks to this syntax. It makes using WPF classes from code much less painful.
Chris Nahr  Thursday, June 11, 2009 4:50 PM
Hi again John

Thanks for the continued conversation.

I won't answer all your points here and now, but do want to addressa couple quickly

1.crashing of the IDE.

I really want to make sure that you and your team (and anyone else who has seen crash/hang behavior in the VS2008 WPF designer) has applied the appropriate hotfixes for the known crash/hang issues as mentioned in my earlier post:

1.KB958017 (http://code.msdn.microsoft.com/KB958017which has been out for quite a while now and is also rolled-up into the Silverlight Tools for Visual Studio 2008 SP1 - please don't install it if you already have the Silverlight Tools) fixes a number of late-breaking issues in VS2008 SP1's designer (including some crashing issues)
2. The more recently issued KB963035 (http://code.msdn.microsoft.com/KB963035) solves in intermittent hanging issue in the designer which some customers had reported
3. The CLR team has recently issued a hotfix for an issue that affected some WPF designer users and could cause "hard crashes" in which noWatson dialog would appear(http://code.msdn.microsoft.com/KB963676- it says it's for MS Exchange but also fixes the WPF designer "Grant Set Exception" failure)

We believe these fixes deal with all the problem cases we are aware of in Visual Studio 2008 SP1. If we are mistaken in that view, please put us right! Please let me know if you've installed these hotfixes and are still seeing a crash/hang issue with the designer - we want to work with you to ensure that it is properly dealt with.

2. DirectX requirement <> Vista requirement
Your commentsort-of implied that Windows Vista was a requirement for WPF applications - I just wanted to make clear that it isn't . You can run your WPF applications on Windows XP (see http://blogs.msdn.com/tims/archive/2007/01/05/comparing-wpf-on-windows-vista-v-windows-xp.aspxfor a good coverage ofminor differences you may see).

3. .NET 4.0
Multitargetting in Visual Studio 2010 will indeed let you target .NET 3.5, and I'm glad that's likely to help in your scenario. However I also wanted to let you know thatadopting .NET 4.0 for client applications will be madeeasier for some scenariosby the new slimmed-down Client Profile installer (see http://blogs.windowsclient.net/trickster92/archive/2008/05/21/introducing-the-net-framework-client-profile.aspxfor a great write up). This is particularly useful if your customers have no .NET Framework installation on their machines.


Thanks
Mark
Mark Wilson-Thomas - Program Team - WPF & SL Designer for Visual Studio - posts are provided 'as-is'
Mark Wilson-Thomas  Thursday, June 11, 2009 11:14 PM
1. Crashing of the IDE
Is there a way to find out what is already installed as far as hot fixes are concerned? That would be a nice thing to have in VS2010. I envision this as being a list of installed service packs, and any hot-fix not rolled-up (replaced) by a service pack.
1. Direct-X Requirement
I didn't mean to imply that Vista was required. I was making the point that new iterations of WPF require more stout hardware. Generally businesses upgrade their hardware every two-three years, and unless there is a specific need, they get the most minimal hardware they can get away with, and video performance is generally a tertiary concern.
3. .NET 4.0
Multitargetting in Visual Studio 2010 will indeed let you target .NET 3.5, and I'm glad that's likely to help in your scenario. However I also wanted to let you know thatadopting .NET 4.0 for client applications will be madeeasier for some scenariosby the new slimmed-down Client Profile installer (see http://blogs.windowsclient.net/trickster92/archive/2008/05/21/introducing-the-net-framework-client-profile.aspx for a great write up). This is particularly useful if your customers have no .NET Framework installation on their machines.

Well, the problem isn't with our customers (all of them have .Net of one version or another), it's our management here that seems to think imposing the requirement to download/install a newer version of .Net would freak the users out. I really don't understand how they would come up with that since I've never had a problem loading up a new version of .Net (other than the now gargantuan download size). To be honest, this is going to be the company's first publicly distributed .Net application and I suppose I can understand them being a bit apprehensive, but on the other hand, they're technically savvy enough to know better. The .Net 4.0 argument may be a battle with management, but at least we can target 3.5 with VS2010.


John Simmons - outlaw programmer  Tuesday, June 16, 2009 12:38 PM

Hi again John

Yes, there is already a way tofind out what Hotfixes are installed for a given program: you can use the add/remove programs control panel. How varies by OS:

1. On Windows 7 bring up the Add/Remove programs control panel , and look under Installed Updates. You will see the updates ordered by the target so you can easily see which ones apply to Visual Studio for instance. You can find particular KB numbers using the search box on the control panel.

2. On Windows Vista, bring up the Add/Remove programs control panel, and look under Installed Updates; you will see a list of updates and the program to which they apply is shown in a column you can sort on to see which apply to Visual Studio. You can find particular KB numbers using the search box on the control panel.

3. On Windows XP, bring up the Add/Remove programs control panel, and check the "show updates" checkbox. Updates are then shown nested under the relevant program. There's no search box for finding specific KB'sunfortunatley.

What's less easy is finding out whether a hotfix has been rolled up into a service pack - to do that you have tolook up the KB article that corresponds to the relevant service pack, e.g. for service pack 1:

http://support.microsoft.com/kb/950263/(see towards the bottom of the article, for list of Hotfixes included in the SP).

Perhaps we could make it easier to do this last step, for example by baking the list of included hotfixes into SP installs so they can be found in Add/Remove programs too if needed.

Now you have this data, I hope you're able to check for the Hotfixes I mentioned and apply them as needed. Let me know how you get on.

On the DirectX topic, I now understand your point. Fortunatley, I think even lower-end/entry levelgraphics cards are now becoming pretty performant, so there is some relief from increasing requirements when businesses buy new machines even though I agree that businesses don't always see graphics cards and video perf as primary purchasing parameters.


Thanks
Mark


Mark Wilson-Thomas - Program Team - WPF & SL Designer for Visual Studio - posts are provided 'as-is'
Mark Wilson-Thomas  Tuesday, June 16, 2009 5:53 PM
Use WPF ,I no, Very Slowly ,Very Slowly
zjh111  Thursday, August 27, 2009 5:04 AM

You can use google to search for other answers

Custom Search

More Threads

• How to change tab header color on an custom event in WPF?
• Components in CIDER
• Limitations of December CTP (Cider) release?
• How Do I put a Calendar on my Web Page?
• How to disable dragging outside a path, but inside the containing rectangle
• not able to set itemSource Property of my custom Control
• Package 'Microsoft.VisualStudio.Xaml' has failed to load properly
• layout in Visual Studio 2005
• How to Bold a Particular field in a list view
• Visual Studio 2005 Extensions (WPF) and .NET 3.5 SP1 Problem