Wednesday, April 21, 2010

JSON.NET

Json - Release: Json.NET 3.5 Release 7

Json.NET library makes working with JSON formatted data in .NET simple. Key features include a flexible JSON serializer to for quickly converting .NET classes to JSON and back again, and LINQ to JSON for reading and writing JSON.

Features
-Flexible JSON serializer to convert .NET objects to JSON and back again
-LINQ to JSON for reading and writing JSON
-Writes indented, easy to read JSON
-Convert JSON to and from XML
-Supports Silverlight and the Compact Framework

The JSON serializer is a good choice when the JSON you are reading or writing maps closely to a .NET class. The serializer automatically reads and writes JSON for the class.

For situations where you are only interested in getting values from JSON, don't have a class to serialize or deserialize to, or the JSON is radically different from your class and you need to manually read and write from your objects then LINQ to JSON is what you should use. LINQ to JSON allows you to easily read, create and modify JSON in .NET.

Thursday, April 1, 2010

Easiest way to set ListView ItemHeight in an Owner-Drawn ListView

When creating an owner-drawn ListBox, you will receive measure-item messages that allow you to specify the height of items.  In a ListView control, that functionality is not there.  So how is the ItemHeight determined in a ListView in Details mode?  It uses the ImageList height then the Font height, so to override the item height create a dummy ImageList and set it to the desired height and assign it to the listview depending on the view.  Using the Font to set the height does not work very well because it also affects the height of the Header control, an unwanted side-effect.