Существует очень похожая ошибка даже в Silverlight 4.
Если вы создаете пользовательский контроль, обычно:
<UserControl xmlns:MyNameSpace="clr-namespace:MyNameSpace" x:Class="MyNameSpace.MyClass"
x:Name="userControl" ... />
Затем, если вы добавите 2 элемента управления без имен в код xaml (с предварительным просмотром):
<MyNameSpace:MyClass ... />
<MyNameSpace:MyClass ... />
Будет исключение "Имя уже существует в дереве: userControl". Это происходит потому, что Silverlight не может найти имя (без имени [MyClass]) и обращается к UserControl, где он дважды находит «userControl».
Одним из решений является присвоение имен элементам управления:
<MyNameSpace:MyClass x:Name = "MyControl1" ... />
Или инициализируйте этот элемент управления из кода:
MyClass control = new MyClass();
SomeGrid.Children.Add(control);