How do you sort a C# dictionary by key or value?

I often have a Dictionary of keys & values and need to sort it by value. For example, I have a hash of words and their frequencies, and want to order them by frequency. There's SortedList which is good for a single value (frequency), but I want to map it back to the word. SortedDictionary orders by key, not value. Some resort to a custom class, but what's the cleanest way? Why not use LINQ:
System.Collections.Generic.Dictionary myDict = new Dictionary();
myDict.Add("one", 1);
myDict.Add("four", 4);
myDict.Add("two", 2);
myDict.Add("three", 3);

var sortedDict = (from entry in myDict orderby entry.Value ascending select entry);