Click here to Skip to main content
15,357,967 members
Articles / Desktop Programming / WPF
Posted 16 Jan 2011


70 bookmarked

Underappreciated Articles - The Number of Articles here on CodeProject is as we all know - HUGE - and Some Gems are Easily Lost in this Ocean of Knowledge

Rate me:
Please Sign up or sign in to vote.
4.88/5 (57 votes)
22 Mar 2013CPOL2 min read
Articles I feel, and hope, people will appreciate


Gems are easily lost in this ocean of information. Over the years, I’ve read many articles here on CodeProject that I noted went underappreciated. As I come across such gems, I’ll put them here.

The Tip: The usefulness of an article isn’t always reflected by the rating. There are articles here on CodeProject that provide very useful insights without getting a stellar rating. So when you research a subject, take your time, and try to locate these gems.


Complex Data Binding a collection implementing IBindingList and ITypedList[^] Dan documents an important tidbit about ITypedList.GetItemProperties(PropertyDescriptor[] listAccessors).
Frans Bouma, principal developer behind LLBLGen Pro[^], has more information about this on his site:
Really complex databinding: ITypedList with weakly typed collections[^]


Applied Long-Running Active Object Pattern[^] - A thorough explanation of the Active Object Pattern, I haven't tested the code, but the author has made an impressive effort on the article. A very good description of this important pattern.


This two part series shows how to really improve the performance of serialization. A real eye opener! By leveraging the information provided by this article, you can seriously improve the performance of WCF and .NET remoting based solutions.


Your First Step to the Silverlight Voice/Video Chatting Client/Server[^], nice article on the subject.

SMS from Windows

Sending SMS using .NET[^] is a nice little article answering a question that pops up just about each day in the Q&A section.


Building Dynamic SQL In a Stored Procedure[^] is a simple tutorial on sp_executesql[^]. Knowing how to use sp_executesql allows you to create very flexible stored procedures.

Windows Forms

Have a Great DesignTime Experience with a Powerful DesignSurface (Extended) Class[^] shows what can be achieved with a minimum effort using DesignSurface[^], DesignSurface enables you to create customizable user interfaces based on standard .NET mechanisms.

Windows Communication Foundation

WCF: Duplex MSMQ[^], a true gem, very useful when you have to deal with partially connected scenarios, like WiFi and mobile networks.

Windows Presentation Foundation

Executing Command Logic in a View Model[^] is a clear and focused article on commanding.
WPF Diagram Designer: Part 1[^] is one of the more interesting "under the hood" series on WPF.


Enumeration-based Command Line Utility[^] is a nice and easy to use framework for command line processing.

C++ Graphics

Paul Watts' article Guide to Image Composition with Win32 MsImg32.dll[^] is well worth reading.

I know I will find this list useful; maybe it will help others too. Smile | :)


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Espen Harlinn
Architect Sea Surveillance AS
Norway Norway
Chief Architect - Sea Surveillance AS.

Specializing in integrated operations and high performance computing solutions.

I’ve been fooling around with computers since the early eighties, I’ve even done work on CP/M and MP/M.

Wrote my first “real” program on a BBC micro model B based on a series in a magazine at that time. It was fun and I got hooked on this thing called programming ...

A few Highlights:

  • High performance application server development
  • Model Driven Architecture and Code generators
  • Real-Time Distributed Solutions
  • C, C++, C#, Java, TSQL, PL/SQL, Delphi, ActionScript, Perl, Rexx
  • Microsoft SQL Server, Oracle RDBMS, IBM DB2, PostGreSQL
  • AMQP, Apache qpid, RabbitMQ, Microsoft Message Queuing, IBM WebSphereMQ, Oracle TuxidoMQ
  • Oracle WebLogic, IBM WebSphere
  • Corba, COM, DCE, WCF
  • AspenTech InfoPlus.21(IP21), OsiSoft PI

More information about what I do for a living can be found at: or LinkedIn

You can contact me at

Comments and Discussions

GeneralRe: Thanks Aragon! Pin
Espen Harlinn14-Mar-11 1:32
professionalEspen Harlinn14-Mar-11 1:32 
GeneralReason for my vote of 5 You article is also underappreciated... Pin
Sergey Alexandrovich Kryukov13-Mar-11 10:56
mvaSergey Alexandrovich Kryukov13-Mar-11 10:56 
GeneralRe: Thank you SAKryukov! Pin
Espen Harlinn13-Mar-11 11:15
professionalEspen Harlinn13-Mar-11 11:15 
GeneralReason for my vote of 5 Agree with Richard MacCutchan Pin
thatraja22-Feb-11 15:30
professionalthatraja22-Feb-11 15:30 
GeneralRe: Thank you thatraja! Pin
Espen Harlinn23-Feb-11 9:56
professionalEspen Harlinn23-Feb-11 9:56 
GeneralReason for my vote of 5 One caught my eye that I'd otherwise... Pin
Gawiz22-Feb-11 1:12
professionalGawiz22-Feb-11 1:12 
GeneralRe: Thank you, Gawiz! Pin
Espen Harlinn14-Mar-11 1:34
professionalEspen Harlinn14-Mar-11 1:34 
GeneralReason for my vote of 5 Beneficial Information. Pin
ShilpiP21-Feb-11 21:52
MemberShilpiP21-Feb-11 21:52 
Reason for my vote of 5
Beneficial Information.
GeneralRe: Thank you, Shilpi! Pin
Espen Harlinn14-Mar-11 1:33
professionalEspen Harlinn14-Mar-11 1:33 
GeneralReason for my vote of 5 This was a good idea and the list do... Pin
Wendelius21-Feb-11 8:40
mveWendelius21-Feb-11 8:40 
GeneralRe: Thank you Mika! Pin
Espen Harlinn21-Feb-11 9:03
professionalEspen Harlinn21-Feb-11 9:03 
GeneralReason for my vote of 5 useful links. Pin
Suchi Banerjee, Pune14-Feb-11 5:04
MemberSuchi Banerjee, Pune14-Feb-11 5:04 
GeneralRe: Thank you Suchi Banerjee Pin
Espen Harlinn14-Feb-11 8:21
professionalEspen Harlinn14-Feb-11 8:21 
GeneralThanks for sharing! I will give you 5. Pin
Suchi Banerjee, Pune14-Feb-11 5:02
MemberSuchi Banerjee, Pune14-Feb-11 5:02 
GeneralReason for my vote of 4 Point well made and taken. Pin
STEVE-40024-Jan-11 5:15
MemberSTEVE-40024-Jan-11 5:15 
GeneralRe: Thanks STEVE-400 Pin
Espen Harlinn24-Jan-11 8:02
professionalEspen Harlinn24-Jan-11 8:02 
GeneralReason for my vote of 4 Thanks a lot for sharing. Pin
Pravin Patil, Mumbai18-Jan-11 3:20
MemberPravin Patil, Mumbai18-Jan-11 3:20 
GeneralRe: Thanks Pin
Espen Harlinn18-Jan-11 3:23
professionalEspen Harlinn18-Jan-11 3:23 
GeneralReason for my vote of 1 It's a good collection, however tech... Pin
ThatsAlok17-Jan-11 20:28
MemberThatsAlok17-Jan-11 20:28 
GeneralRe: Maybe 'technically' you are correct, but you should really v... Pin
Richard MacCutchan18-Jan-11 1:30
mveRichard MacCutchan18-Jan-11 1:30 
Generalhe he he nice collection, but you can't count it as technica... Pin
ThatsAlok17-Jan-11 20:27
MemberThatsAlok17-Jan-11 20:27 
GeneralReason for my vote of 5 Good idea! Pin
Manfred Rudolf Bihy17-Jan-11 11:35
professionalManfred Rudolf Bihy17-Jan-11 11:35 
GeneralReason for my vote of 5 Another useful page to be bookmarked... Pin
Richard MacCutchan17-Jan-11 10:08
mveRichard MacCutchan17-Jan-11 10:08 
GeneralReason for my vote of 5 Thanks for pointing out these articl... Pin
linuxjr17-Jan-11 5:06
professionallinuxjr17-Jan-11 5:06 
GeneralThanks Pranay Rana! Pin
Espen Harlinn17-Jan-11 3:25
professionalEspen Harlinn17-Jan-11 3:25 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.