Thank you for pointing me to the online demo. In studying their demo I discover they have made automating it very difficult. Each cell is simply another Border element. There is no separation of rows. The cells for row 2 are simply concatenated to the cells of row 1. Effectively you have just one long list of cells for every cell contained in the entire grid - see attached screen shot..
With this in mind, does the target cell you want to click have a unique value? We could find the grid by name or ID, then find the cell with the correct text then click on it.
Another approach would be to get the pixel height of the first row, do some calculation in order to click on row N with a static horizontal pixel value to click on.
The last option would be to add a RowCount and ColCount property, both returning an int, to a subclass of the grid. These properties would simply return Rows.Count and Cells.Count respectively.
if I have a collection can I use GetProperty or something similar to get its properties or its elements.
No I am sorry that is not supported. GetProperty can only return something our framework already knows how to handle. It needs to be able to serialize the object, send it "over the wall" (between the Silverlight application domain and the Test Studio application domain) such that Test Studio can deserialize the object. We only support the simple types (int, bool, string) and a few common complex types (Brush).