Monday, November 2, 2009

Daily Links 2/11/2009

Twirling smoke effect in Expression Design

Silverlight out-of-browser and initParams

Caliburn v1 RTW for WPF, Silverlight 2.0 and 3.0!

Simple Kick Start Example using MEF (Preview 8)

Resharper 5.0 Overview

Silverlight Toolkit October 2009 Release

Pivotal Tracker - Lightweight Agile Project Management

SkyDrive Explorer adds 25gb of free cloud storage to Windows Explorer

How to write a book - the short honest truth

Monday, October 26, 2009

GetType From Referenced Assembly In Silverlight

I recently implemented a ValueConverter for our comboboxes in silverlight, whereby the translations for an enum would be shown as a list in the combobox, and when an item is selected, the value bound to the model would be whatever was described on the enumeration as the model value that gets persisted to the database (it’s a legacy database, so I couldn’t save the enumerated value on the model). Anyways, more on how that was done is for another blog post.

The converter gets an enumeration type as a converter parameter, so I needed to construct the type of enum at runtime (so I could get access the the enumerations that were defined, and the ModelValue attributes on each enumeration definition), since the converter should be able to handle any enumeration type that has been defined according to a specific convention. Trouble is, the enumerations were defined in a seperate silverlight assembly that was referenced from the client assembly, so I couldn’t just simply:

   1: Type type = Type.GetType("ClassLibrary1.Class1, ClassLibrary1");

… only if you specify the culture and the version in the above string parameter, will the type get returned, and since those change frequently, it wasn’t a practical solution.

So here’s helper method I wrote to get a type referenced in another assembly:

   1: public static Type GetAssemblyType(string assemblyName, string className)
   2: {
   3:     StreamResourceInfo info = Application.GetResourceStream(new Uri(assemblyName, UriKind.Relative));
   4:     Assembly assembly = new AssemblyPart().Load(info.Stream);
   5:     Type type = assembly.GetType(className);
   6:  
   7:     return type;   
   8: }

Usage:

… if you know the fully qualified class name and which assembly it’s in:

   1: Type type = GetAssemblyType("SilverlightClassLibrary1.dll", "SilverlightClassLibrary1.Class1");

… or if you only know the fully qualified class name, and don’t know which assembly it’s in:

   1: public static Type GetAssemblyType(string className)
   2: {
   3:     Type type = null;
   4:     foreach (AssemblyPart part in Deployment.Current.Parts)
   5:     {
   6:         type = GetAssemblyType(part.Source, className);
   7:         if (type != null)
   8:             break;
   9:     }
  10:     return type;
  11: }

usage:


   1: Type type = GetAssemblyType("SilverlightClassLibrary1.Class1");

Notice that in each case  that the class name that is specified is fully qualified with it’s namespace.


Happy Coding :)

Tuesday, October 20, 2009

Daily Links 20/10/2009

Silverlight 3: Calling a WCF service without a proxy using Binary XML

Silverlight 3's New Client Networking Stack

Clean shutdown in Silverlight and WPF applications
...with some MVVM Light Toolkit usage

Silverlight Toolkit adds DragDrop targets!

Silverlight Streaming to be discontinued
What a pity (it seems the Azure replacement service has costs associated with it) Guess I'm going to have to find another way (or remove) my silverlight advertisement on my blog page now :|

Event aggregator

"Agile is treating the symptoms, not the disease"
Highlighting a need to revert to the simplicity of development we had a decade ago.

LightSpeed 3.0 Beta Release

Microsoft SharedView finally RTM
"Connect with up to 15 people in different locations and get your point across by showing them what's on your screen"
It's free.

Terminals
codeplex project: "secure, multi tab terminal services/remote desktop client"
alternative application - RDTabs

Visual Studio 2010 dates and details

Re-imagining the Desktop with 10/GUI

Wednesday, October 7, 2009

Daily Links 10/07/2009

My Favorite Silverlight Extensions APIs - Part 1

Silverlike
Blog on free silverlight controls and tutorials

Having a PollingDuplex service and any other WCF service in the same website causes Silverlight calls to be slow

What's New in Windows Communication Foundation (WCF) 4.0 Part III - Service-Discovery Feature

Development and Build Environments

Ruining your Test Automation Strategy.
Some thoughts on test automation

Licensing a commercial product

Comparing Windows 7 features

Tuesday, September 29, 2009

Daily Links 29/09/2009

Helpful extension methods for Show / Hide animations in Silverlight

Silverlight Ad Publishing Resources

Creating the Glow Effect in Code

Dynamic TextBlock for Silverlight (TextTrimming property behaviour from WPF)

Silverlight 3 DataGrid : Beyond Databinding
Some handy code bits for silverlight datagrid

Data Performance and Fault Strategies in Silverlight 3

What's New In Windows Communication Foundation (WCF) 4.0 Part- I

Auto-Start ASP.NET Applications (VS 2010 and .NET 4.0 Series)

NCloak
NCloak is a tool to help protect your intellectual property inside your code.

Visual Studio 2010 and .NET Framework 4 Training Kit - May Preview

Had some issues with VS hanging after build the solution - this solved it

Programming for Absolute Beginners

Microsoft supporting web startups and independent web developers by providing free software's for 3years
see also BizSpark for startups & DreamSpark for students

Friday, September 11, 2009

Daily Links 11/09/2009

A Plethora of Silverlight Behaviors/Triggers

Get up to speed on SketchFlow FAST

Silverlight and Web Analytics - the Next Generation

Silverlight and localizing string data

Improving the performance of web services in SL3 Beta

Accessing Security and Authentication in Silverlight using .NET RIA Services

5 Minute Overview of MVVM in Silverlight

Export to pdf firefox extension

Bug Shooting
"free screenshot utility that was developed for software tester" "Screenshots can also be sent to Skype or a default E-Mail application"

Scott Hanselman's 2009 Ultimate Developer and Power Users Tool List for Windows

Cleaning System volume information for Windows Vista
You can also use windows disk cleanup utility, which will at least save your last restore point.

Telerik Offers Free Developer Team Management Tools
Invaluable if you're using TFS for your work item management. (Supports scrum template)

Wednesday, August 26, 2009

Daily Links 26/8/2009

Refactor Safe Implementation Of INotifyPropertyChanged

My latest whitepaper on WCF 4.0

MediaPlayer control included in Silverlight 3

Performance of HTTP polling duplex server-side channel in Microsoft Silverlight 3

Fault support in Silverlight 3

Automatically update the widths of ListView columns - updated!

Silverlight resources
some great sample code to be found here

How to install cool, custom fonts (like PDC09) into Windows and use it in your Silverlight application

A guide to Silverlight 3 new features

iGoogle needs login everytime Firefox restarts? Delete cookies* files in your profile directory