Silverlight 2 Image Rotator
Goal: Using Silverlight 2.0 and C#/VB build an Image Rotator that has a useful set of basic features and is easy to setup and deploy.
Features:
* Can link to local images deployed with application or to images hosted elsewhere on the Internet.
* Image paths and attributes stored in XML file for easy changes without need to rebuild application.
* Auto play can be toggled on/off.
* Duration each image is shown is adjustable.
* Image transition effects can be turned on/off.
* Much more......
Waithandle Exceptions and Work Arounds
Goal #1: To call the same method multiple times asynchronously while blocking until all threads have completed their work.
Goal #2: Provide solutions to some common exceptions that can be thrown in asynchronous applications when trying to block and signal using WaitHandle.WaitAll.
Exception #1: WaitAll for multiple handles on a STA thread is not supported.
Exception #2: The number of WaitHandles must be less than or equal to 64.
In a previous post, I covered how to keep a UI responsive using asynchronous calls. The focus on that article was using asynchronous calls on long running processes in an effort to keep the main ui thread responsive. Recently, I wanted to do something similar, with a slight twist. I needed to call the same method multiple times asynchronously while blocking until all threads were completed. My first stab was in vb.net and what I thought was going to be trivial actually turned out to be another trip down the rabbit whole. Let me explain.
Responsive UI's
Goal: Demonstrate how to keep WPF UI’s responsive while running long processes asynchronously.
Method(s): Through a sample application I will first demonstrate what a non-responsive UI is and how you get one. Next I will demonstrate how to make the UI responsive through asynchronous code. Finally I will demonstrate how to make the UI responsive through a much simpler event-based asynchronous approach. I will also show how to keep the user informed while the processing takes place with updates to TextBlock's and a ProgressBar.
Lambda Expressions: There's More than One Way to Skin a Generic List
Goal: This article and the vb.net and c# downloads are to show how you can use lambda expressions as delegates to perform many functions on System.Collections.Generic.List(T), and in some cases any object that implements IEnumerable with more concise code.
Method(s): Using a collection of custom Stock objects I will demonstrate many of the lambda expressions available to you.