The problem is that the RadioButton.GroupName behavior relies on the logical tree to find a common ancestor and effectively use it for the tree That part, but Silverlight’s ItemsControl does not maintain a logical tree. This means, in your example, the Parent property of RadioButton is always null
I built a simple additional behavior to solve this The problem is here: http://www.dragonshed.org/blog/2009/03/08/radiobuttons-in-a-datatemplate-in-silverlight/