Tips and Tricks for INotifyPropertyChanged

As a WPF or Silverlight developer, you know that your models must implement INotifyPropertyChanged and it can be a pain. To do it safely, you really need to check to see if there are any registered handlers, then raise the event. To add insult to injury, the event arguments take a string, so if you…

Managed Extensibility Framework for Line of Business Applications in .NET 4.0

I recently gave a talk for the Atlanta Microsoft Professionals users group about using the Managed Extensibility Framework for Line of Business applications in .NET 4.0. We had a great turnout and I appreciate everyone who attended. The talk was based on my blog post “10 Reasons to use the Managed Extensibility Framework.” While the…

Getting PDBs and Source When You Can’t Access Your Symbol Server

The other day I wrote about using SYMCHK.EXE from the Debugging Tools for Windows (WinDBG) install to pre-populate your symbol server cache. That prompted a question I got in email: Our test lab machines are isolated from the rest of our network and have no internet access. How can I get symbols and source over…

The Secret to Avoiding Debugger Slowdowns

Symbol Servers are one of the best things that have ever happened in Windows debugging. Having a central store for all PDB files makes the debugging experience so much better because you’ll always get exact right symbols with essentially no effort on your part. This means perfect call stacks on native code and if you’ve…

Silverlight Out of Browser Dynamic Modules in Offline Mode

Silverlight Out of Browser (OOB) applications are becoming more and more popular due to the convenience of being able to install and launch them locally. As Silverlight applications become larger and more composable, advanced techniques such as dynamically loading modules are also becoming more popular. The “out of the box” Managed Extensibility Framework provision for…

Making the ScrollViewer Talk in Silverlight 4

Recently I came across the requirement to react to the fact that a user had scrolled a view to the bottom. It sounded easy at first because I imagined hooking into a scroll viewer changed event, listening to the event args, and then reacting when it was done. The only problem was that I couldn’t…

Writing Data Structure Visualizers for Native C++/STL Code

Pretty much any time I write about a cool .NET only feature here on the blog I get emails or comments about how the native C++ developers are left out in the cold. There are still a lot of applications out there using native C++ and it feels like those developers don’t get the love…

WebClient and DeploymentCatalog gotchas in Silverlight OOB

This is a quick post to share a gotcha I found that may be impacting others. I am in the process of building a large composable application for a customer using Silverlight 4 and the Managed Extensibility Framework (MEF). The application has a framework that supports multiple line of business applications that are dynamically loaded…

Debugging and Performance Tech Focus

Wintellect is so much more than just me posting a random blog entry every once in a while. This year our big marketing focus is to offer unique and interesting content for developers. To that end we’ve set up our Tech Focus which you can sign up for here. This gets you special articles each…

MVVM Coding by Convention (Convention over Configuration)

Convention-based programming is an interesting model. In essence, it attempts to reduce the potential for error by handling most scenarios based on conventions or standards, and allowing the developers to focus on the exceptions. Probably one of the most thorough public resources I’ve seen for the convention-based model is Rob Eisenberg’s Build your Own MVVM…

Add OneNote 2010 Linked Notes Capabilities to your Application

If you’ve ever talked to me or read this blog, you know I’m a passionate OneNote user. If it weren’t for OneNote, I would be a random mess. One of the new features in OneNote 2010 is Linked Notes, which let you link the notes you are taking in OneNote to the program you’re working…

Understanding Input Scope in Silverlight for Windows Phone

If you write applications for Silverlight for Windows Phone, one of the features you quickly become familiar with is the Software Input Panel, or SIP. The SIP is the virtual keyboard that appears when a text-input control such as a TextBox gets the input focus. You don’t have to do anything to make the SIP…