+1  A: 

Give the radio buttons you want to be mutually excluse the same GroupName property. You could probably record this to your model but creating one enum type that is updated each time one radiobutton is checked.

Corey Sunwold
How can I get the GroupName from the DataTemplate? Thanks!
Gustavo Cavalcanti
@Gustavo: Not sure if this will work, but you could try GroupName="{Binding Description}"
Corey Sunwold
csunwold, Binding Description doesn't make sense, because each choice description are probably unique.Using your idea I tried:1) GroupName="{Binding Question, Path=Description}" (since Choice has a property pointing to the "master" Question). This did not work and I don't know why because it shows the question description correctly if I bind the RadioButton's content to it)2) I overrode ToString on the Question class spitting out the description and did GroupName="{Binding Question}" and it worked. This really feels like a hack.
Gustavo Cavalcanti
It may feel that way but the more I think about it it actually does make sense. I have had to do quite a bit of overriding ToString when working with models like these. I am starting to think that in as a general practice I should always override ToString when working with models like these, but I would be interested to hear the opinion of someone with more experience on this matter. Glad to hear you got it working though.
Corey Sunwold
@csunwold: Thanks a lot for your help and opinion!
Gustavo Cavalcanti