Fast and Easy Navigation in WPF or Silverlight Applications in Visual Studio 2010

March 30, 2010

In Visual Studio 2010, the Navigate To command is CTRL+,  (comma).

If you have any text selected in any editor and press  CTRL+,  that text is automatically added to the Search Terms field and the Navigate To dialog immediately presents a list of objects in your solution that match the search.  Pressing CTRL+, without text selected opens the Navigate To dialog without pre-setting the search text or the results listing.

In the below image, I have highlighted a type’s name in the XAML Editor, pressed CTRL+, and presto, I can easily navigate to objects that match the search string.

ControlComma

For large WPF projects, CTRL+, will save you so much time fishing around in the Solution Explorer.

Final note, this feature works in all editors such as the VB and C# code editors, XAML Editor, etc.

Have a great day!

Just a grain of sand on the worlds beaches.


Visual Studio 2010 XAML Editor IntelliSense Presenter Extension

March 21, 2010

Current Version:  2.0 (14 April 2010)

I’ve come to appreciate the new Visual Studio 2010 code editor IntelliSense features like Pascal case lookup and the narrowing list that is presented as you type.  Unfortunately, these new code editor features did not make it into the XAML Editor.  But not to worry…

FullControls FullProperties

FullNamespace

Features

  • Pascal case lookup
  • Optional narrowing list filter
  • Filtering based on item type
  • Toggle narrowing filter Hot Key (ALT + .)  (ALT PERIOD)
  • Toggle namespace filter Hot Key (ALT + ,)  (ALT COMMA)
  • xmlns IntelliSense options
    • Show/hide only solution assemblies
    • Show/hide schemas
  • Filter settings persist for the current Visual Studio session

New In Version 2.0

  • Added hot key toggling for namespace filter (ALT + ,) and narrowing filter (ALT + .)
  • White listed x: when narrowing filter is enabled to ensure that it’s always listed
  • Corrected the double clicking of the presenter to not select when the scroll bar is double clicked.
  • Publishing the presenter from the Visual Studio Gallery.  (I removed the code and presenter from my Sky Drive)

Pascal Case Lookup

Pascal case lookup is always enabled regardless of the narrowing filter option.  When all of your text is upper case this feature kicks in to quickly locate the item you are looking for.  Note, this feature requires at least two upper case characters be entered before kicking in.

The feature locates entries that start with the first upper case character you entered, then matches on additional upper case characters.

The below image demonstrates the Pascal case lookup.

PascalLookupOne

Locating an assembly using the xmlns Pascal case IntelliSense is super fast.

PascalLookupTwo

Narrowing List Filter

When the narrowing list filter is enabled it provides two features. 

You can enable/disable this feature by clicking the Filter icon or by using the hot key (ALT + .) (ALT PERIOD).

  • Narrows the list of displayed items by only including items that contain your text
  • List item selection priority
    • Selects the first match that starts with your text
    • Selects the first entry that contains your text
Narrowing List Filter Enabled Narrowing List Filter Disabled
NarrowingEnabled NarrowingDisabled
With narrowing enabled, see how easy it is to locate Grid.Row or Grid.RowSpan.  
NarrowingEnabledTwo  

List Item Type Filter

This was my original driving force behind writing this extension.  Was found myself frustrated when a type in XAML has 2 properties, 4 events and 75 namespaces listed in the IntelliSense listing.  Problem solved.

New in version 2.0 is the addition of the namespace filter toggling hot key (ALT + .)  (ALT PERIOD).  This hot key is tied to the namespace icon, making it faster to show/hide namespaces.

Standard list of items, notice the multitude of namespaces that are listed.

Namespaces

Toggle the namespaces ToolBar button by clicking it and they are filtered for you.

NoNamespaces

The other ToolBar filter buttons work the same.  The gray background is the enabled state.  The white background with grayscale image is the disabled state.

xmlns IntelliSense

The below image demonstrates the two filter buttons in the xamls IntelliSense presenter.

  • Show only solution assemblies is enabled.
  • Remove schema entries is enabled.

xmlnsOne

Another way to locate your assemblies very quickly is demonstrated in the below image.  The two filter buttons in the default state and I entered WC to quickly find an assembly in my solution. 

This is another example of the Pascal case filtering.

xmlnsTwo

In the below image I’m taking advantage of the narrowing filter to locate all assemblies that have the word media.  When searching the text with this type of search, the entire entry line of text is searched including the assembly name inside the (…).

xmlnsThree

Extension Manager

To view your installed extensions use the Visual Studio 2010 menu, Tools, Extension Manager…

ExtensionManager

From here you can either disable or uninstall extensions.

 ExtensionManager

You can also configure settings for extensions using the Tools, Options dialog.

ToolsOptions

Requirements

Visual Studio 2010

Upgrade Installation

If you have a previous version of the XAML IntelliSense Presenter, use the Visual Studio Extensions Manager and uninstall the previous version.

The use the Visual Studio Gallery to install the new version.

This step won’t be required in the future.

Downloads

XAML IntelliSense Presenter on the Visual Studio Gallery

Source

In a few weeks, I’ll publish a blog post with the source and how the presenter works.

Close

Enjoy this XAML Editor extension.

Have a great day,

Just a grain of sand on the worlds beaches.


Announcing events WPF for LOB & Windows 7 and .NET 4

March 14, 2010

Jaime Rodriguez and Karl Shifflett have created their best offering to-date; three days packed with WPF, optimized for building business applications and a tour of WPF for Windows 7 and .NET 4.

Event

This event is actually two events running back-to-back, "WPF for LOB" and "Windows 7 and .NET 4".

You can register for one or both events. If you want to attend both, you must register for both.

For this event we are adding an optional fourth day for those who want to spend a day programming, applying the information learned over the three days with your own code. We will have Microsoft Experts and MVP’s on hand to assist and pair program with you. This extra day provides you time to work at your own pace and ensure that you understand how to take advantage of the material presented over the previous three days.

Overview – WPF for LOB Event

This two day training is designed to teach developers how to create Line of Business (LOB) applications using Windows Presentation Foundation (WPF).

  • Day One Topics: WPF graphics subsystem, layout, element trees, resources, dependency properties, routed events, custom controls, templates and threading.
  • Day Two Topics: Data binding, commands, building applications using the Model-View-ViewModel pattern, creating testable applications, implementing data validation, and error handling and notification, view navigation and transitions.

After completion, attendees will have a solid understanding of WPF, its advantages and how to use the M-V-VM pattern to create great WPF LOB applications.

Overview – Windows 7 and .NET 4 Day Event

We will spend all day recapping the new WPF features in .NET4 and showing you how to take advantage of some of these new features:

  • Tooling Improvements
  • Graphics & Platform Improvements
  • Deployment Improvements
  • New features that light-up on Windows 7

Dates, Location, Registration

All events run from 8:30am – 5:30pm. Doors open at 8:00am.

Remember, to attend both events you must register for each event.

Registration Tip

If you have never filled out an MSDN event profile before, you’ll do so the first time you register.

If asked about being a partner, if you are not a partner or don’t know if you are:

  • When asked "are you registered" select No. 
  • Select "Visiting partner" under Partner Level.
  • Get creative on the Partner Type;  if in doubt, we are all "System builders"

Date

Event

Location

Registration Links

4/28–4/29

WPF for LOB

Microsoft Redmond Campus, Building 20

WPF for LOB Registration

4/30

Windows 7 and .NET 4

Microsoft Redmond Campus, Building 20

Windows 7 and .NET 4 Registration

5/1

Pair Programming

TBD – announced during training

None required

Detail Agenda

We will post the detailed agenda for the three training days around the 4/22/2010.

Logistics

Format
Instructor-led training from 8:30am – 5:30pm. 15 minute breaks every couple hours. 45 minutes lunch around mid-day.

Food
Breakfast, lunch and afternoon snacks are provided.

Cost
The training is FREE. You do need to register prior to the event, but there is no cost.

Registration is first-come-first serve, sign-up as early as possible to reserve your spot!

Cancellation
If you register and then learn you cannot attend the event, please take steps to cancel your reservations. Not cancelling could prevent another developer for attending the training. Thank you for your professionalism.

Instructors

About the instructors
Karl Shifflett is a software architect, former Microsoft MVP from Bellevue, Washington. He is currently working for Microsoft on the Cider Team as a Program Manager. He has been designing & developing business applications since 1989 and transitioned to .NET in March of 2003. In April of 2007 he joined the list of WPF and Microsoft Expression fanatics & evangelists. He is a member of Team Mole that delivered Mole Visualizer For Visual Studio to the world. He is the author to XAML Power Toys and loves WPF LOB. 

Karl’s blog is at http://karlshifflett.wordpress.com

Jaime Rodriguez is a Principal Technical Evangelist at Microsoft. He focuses on WPF and Silverlight.   For the last four years, he has helped a lot of enterprises and ISVs adopt WPF in large scale, mission critical, projects.

Jaime has been doing software development for fifteen years. Prior to Microsoft, he worked at Xerox, HP, Cerner and GeoAccess.  He joined Microsoft 9 years ago, he spent the first four years as an Enterprise Architect Consultant in Microsoft Services, and the last five he has been a client evangelist covering Windows Forms, WPF and Silverlight. 

Jaime’s blog is at http://blogs.msdn.com/jaimer

Have a great day,

Just a grain of sand on the worlds beaches.


Second Hot Fix Available for Visual Studio 2010 Release Candidate Crash

March 2, 2010

A second hot fix has been made available for Visual Studio 2010 Release Candidate that solves another IntelliSense related crash.

Get the hot fix Information here.

There are now two hot fixes.  Please ensure that if you are using Visual Studio 2010 Release Candidate that you install both hot fixes.

First Hot Fix

Second Hot Fix

Have a great day,

Just a grain of sand on the worlds beaches.


MSDN WPF Samples Consolidated

March 2, 2010

The WPF Documentation Team has consolidated and published the MSDN WPF Samples here:

http://code.msdn.microsoft.com/wpfsamples

The page has nice preview pictures of each project along with a categorized table of contents.

If you are new to WPF or want to learn another aspect of WPF I recommend that you view the page and study the content.

Have a great day,

Just a grain of sand on the worlds beaches.


Follow

Get every new post delivered to your Inbox.

Join 136 other followers