Interesting article on what is new in WPF 3.5
Cool article from Josh Smith on the way to create skinned UI in WPF
from Scott Guthrie’s blog One of the big features that web developers will quickly discover with VS 2008 is its dramatically improved HTML designer, and the rich CSS support it brings.
VS 2008 now uses the same web designer that ships with Microsoft’s new Expression Web product. In addition to providing lots of new functionality, you’ll also find that this web designer is much faster than the VS 2005 version (which was based on a much older code base).
Below is a quick tour of some of the new web designer features that you’ll be able to take advantage of with both VS 2008 as well as the free Visual Web Developer 2008 Express:
In addition to supporting both source-view and design-view, VS 2008 adds support for a new “split-view” mode when working on pages. This allows you to see both the HTML source and the Design View at the same-time, and easily have any changes you make in one view be updated in the other:
VS 2008 supports a new tool window inside the IDE called “Manage Styles”. This shows all of the CSS stylesheets, and their corresponding rules, for the page you are currently editing. It can be used both when you are in design-view, as well as when you are in source view on a page:
A circle around a CSS rule in the manage styles window indicates that particular rule is in use within the current document. Using the mouse to hover over the rule allows you to quickly see the CSS rule values:
You can then either right-click on a CSS rule and select “Modify Style” to bring up a graphical CSS rules editor, or you can double click on the rule in the manage styles window to automatically open the stylesheet file and jump immediately to the CSS source definition to edit (with full intellisense):
For even more tips/tricks about how to best use the “Manage Styles” tool window please read this blog post.
One of the other cool new CSS features that is also supported in both design and source view is the new CSS Properties Window:
When you select an HTML element or ASP.NET server control, the CSS property window will show you all of the CSS settings currently applied to it. You can also change any of the values using the CSS property grid. The “target rule” drop-down in the style toolbar allows you to determine under what rule the settings are applied (read this blog post to learn more about the style toolbar and target rule dropdown).
If, like me, you sometimes struggle with large CSS stylesheets and find yourself shouting “why the $!#@ is it looking like that?”, you’ll find the “summary” view of the CSS Properties window really useful (just click the summary button at the top of the CSS properties pane). When you press this button it enables a filtering mode that shows you the full inheritance set of CSS rules for the current HTML element or ASP.NET control you are working with:
In the properties grid above you’ll notice that some values are duplicated multiple times – with red arrows striking out previous values. This indicates that a parent CSS rule setting is being overridden by another CSS rule’s value. You can see both the original value as well as the overridden one in the summary view at the bottom.
You can click on the individual values to see where in the CSS precedence hierarchy this value was inherited from or overridden. In the example below you can see that the final color for the current element that my cursor is on is a dark brown color. If I select this final color value, the CSS properties window will draw a blue box in the applied-rules list above indicating that this setting is set in the “singlecontent h3” rule:
If I click on the lighter brown color setting that this rule overrode (and which has the red strike-thru), you can see that it originated with the page’s HTML body CSS rule (notice how the body rule below is selected in the applied rules list when I select the overridden value below):
Please read this dedicated CSS Properties Window blog post to learn even more how to use the CSS property window.
The HTML designer supports the ability to select an element or control in design-view, and graphically select a rule from the CSS list to apply to it.
You’ll also find when in source mode that you now have intellisense support for specifying CSS class rules:
This is true for both HTML element (like above), as well as with ASP.NET server controls:
This CSS intellisense is supported in both regular HTML / ASP.NET pages, as well as when working with pages based on master pages and nested master pages.
Earlier this month I wrote a dedicated blog post that covered the new VS 2008 Nested Master Page Support. All of the above designer and CSS features obviously work with that as well:
The above post provides a quick look at some of the new HTML designer and CSS tool support in VS 2008 (all of the above features also ship with the free Visual Web Developer 2008 Express edition).
Because VS 2008 now has multi-targeting support you’ll be able to use these feature immediately without having to install .NET 3.5 on your servers. You can open existing ASP.NET 2.0 projects in VS 2008, have VS 2008 continue to target .NET 2.0 as the runtime target, and begin using these features immediately.
Over the next week I’ll also be starting a new multi-part blog series that covers the new <asp:listview> control that ships as part of ASP.NET in .NET 3.5. One of the big benefits of the <asp:listview> is that it enables developers to have total control over the HTML output emitted in data scenarios. This works well with all of the new CSS tool features above, and enables you to more easily create great looking web sites and applications.
from Scott Guthrie’s blog
Recently I was looking over the shoulder of someone writing some code, and saw them using some other new text editing features that I hadn’t seen before (“wait – how did you just do that?”).
Below is a non-exhaustive list of a few new code editing improvements I’ve learned about this week. I’m know there are many more I don’t know about yet – but I thought these few were worth sharing now:
One of the things I sometimes find annoying with intellisense in VS 2005 is that the intellisense drop-down obscures the code that is behind it when it pops-up:
With VS 2005 I often find myself needing to escape out of intellisense in order to better see the code around where I’m working, and then go back and complete what I was doing. This sometimes ends up disturbing my train of thought and typing workflow.
VS 2008 provides a nice new feature that allows you to quickly make the intellisense drop-down list semi-transparent. Just hold down the “Ctrl” key while the intellisense drop-down is visible and you’ll be able to switch it into a semi-transparent mode that enables you to quickly look at the code underneath without having to escape out of intellisense:
When you release the “Ctrl” key, the editor will switch back to the normal intellisense view and you can continue typing where you were in the Intellisense window.
The VB team has made some nice improvements to intellisense that make it much easier to navigate through APIs.
Intellisense completion now automatically filters the member list available as you type to help you better pinpoint the API you are looking for. For example, if in an ASP.NET code-behind page you type “R” it will show the full list of types and members available (with the selection starting in the “R” list):
When you type the second character of what you are looking for (in this case “e”), VB will automatically filter to only show those types that start with “Re” and highlight the most likely option:
When you type the “s” it filters the list even further:
When you type “p” it filters down to just the one option available:
I find this cleaner and more intuitive than the previous model that always showed everything in the drop-down.
I’ve done several posts in the past about LINQ and LINQ to SQL. Both VB and C# obviously have full support for LINQ and LINQ to SQL. I think the VB team in particular has done some nice work to provide nice intellisense hints to help guide users when writing LINQ statements in the editor.
For example, assuming we have a LINQ to SQL data model like the one I built in Part 2 of my LINQ to SQL series, I could use the VB code editor to easily work with it. Notice below how VB automatically provides a tooltip that helps guide me through writing the LINQ query syntax:
I can then start writing my query expression and the VB intellisense will guide me through creating it:
The above expression retrieves three column values from the database and creates a new anonymous type that I can then loop over to retrieve and work on the data:
The C# editor has added some great intellisense improvements as well. Some of the biggest obviously include language intellisense and refactoring support for the new language features (Lambdas, Extension Methods, Query Syntax, Anonymous Types, etc). Just like in our VB example above, C# supports type inference and intellisense completion of anonymous types:
One of the small, but nice, new features I recently noticed in VS 2008 is support for better organizing using statements in C#. You can now select a list of using statements, right-click, and then pull up the “Organize Usings” sub-menu:
You can use this to alphabetically sort your namespaces (one of my pet peeves), and optionally use the ‘Remove Unused Usings” command to remove un-necessary namespace declarations from the file:
When you use this command the editor will analyze what types you are using in your code file, and automatically remove those namespaces that are declared but not needed to support them. A small but handy little feature.
Downloads are available here.
Download for the smaller VS 2008 Express Editions here.
from Scott Guthrie’s blog, here are the main list of improvements:
Over the last few months I’ve written several blog posts that discuss some of the new improvements in this release. Below is a quick summary list of several of them that I have already published. This list is by no means exhaustive – there are a lot more things I haven’t had a chance to blog about yet (stay tuned for more posts!):
VS 2008 Multi-Targeting Support
VS 2008 enables you to build applications that target multiple versions of the .NET Framework. You can learn more about how this works from my blog post here:
VS 2008 Web Designer and CSS Support
VS 2008 includes a significantly improved HTML web designer. This delivers support for split-view editing, nested master pages, and great CSS integration. Below are two articles I’ve written that discuss this more:
ASP.NET also has a new <asp:ListView> control that I’ll be blogging about in the near future. It delivers very flexible support for data UI scenarios, and allows full customization of the markup emitted. It works nicely with the new CSS support in VS 2008.
I will be doing a blog post in the next few days that talks more about some of the ASP.NET AJAX specific improvements, as well as how to upgrade existing ASP.NET AJAX 1.0 applications to use them.
Language Improvements and LINQ
The new VB and C# compilers in VS 2008 deliver significant improvements to the languages. Both add functional programming concepts that enable you to write cleaner, terser, and more expressive code. These features also enable a new programming model we call LINQ (language integrated query) that makes querying and working with data a first-class programming concept with .NET.
Below are some of the articles I’ve written that explore these new language features using C#:
Data Access Improvements with LINQ to SQL
LINQ to SQL is a built-in OR/M (object relational mapper) in .NET 3.5. It enables you to model relational databases using a .NET object model. You can then query the database using LINQ, as well as update/insert/delete data from it. LINQ to SQL fully supports transactions, views, and stored procedures. It also provides an easy way to integrate business logic and validation rules into your data model. Below are some of the articles I’ve written that explore how to use it:
I’ll be adding several more articles to my series above in the weeks ahead. I think you’ll find that LINQ to SQL makes it dramatically easier to build much cleaner data models, and write much cleaner data code.
Lots of other improvements
The list above is only a small set of the improvements coming. For client development VS 2008 includes WPF designer and project support. ClickOnce and WPF XBAPs now work with FireFox. WinForms and WPF projects can also now use the ASP.NET Application Services (Membership, Roles, Profile) for roaming user data. Office development is much richer – including support for integrating with the Office 2007 ribbon. WCF and Workflow projects and designers are included in VS 2008. Unit testing support is now much faster and included in VS Professional (and no longer just VSTS). Continuous Integration support is now built-in with TFS. AJAX web testing (unit and load) is now supported in the VS Test SKU. And there is much, much more…
Tous les contenus de la journée Mix07 à Paris du 21 Juin dernier sont en ligne. L’adresse de la Web TV du Mix07 est la suivante :
En bonus, vous pourrez aussi voir deux clips supplémentaires, l’un en version courte (3 min.) et l’autre en version longue (16 min.) qui intègrent quelques interviews et verbatims de participants, connus ou moins connus…