title: How come I can only have one instance of a Silverlight UserControl per page?
body: <p>Its pretty lame, but I tried adding two <code>UserControl</code>'s to my Silverlight <code>Page</code>, and I get an exception telling me (with extensive digging) that the same control name has been used to the visual tree twice. So the controls inside my <code>UserControl</code> are named, so therefore I can include only one of this <code>UserControl</code> into the <code>Page</code> at a time. Is this true, or am I not realizing something?  Has Microsoft truly given up on code-reuse?  This is very lame.</p>
  
  <p><strong>Edits</strong></p>
  
  <p>For people who come here, I was getting this a System.Resources.MissingManifestResourceException exception. It took some time to figure out that the problem was ambiguous names in the visual tree.  Hopefully this helps you.  Below is the full exception text. </p>
  
  <p><strong>Further Edits</strong></p>
  
  <p>Here is my XAML:</p>
  
  <pre><code>&lt;Grid x:Name="LayoutRoot"&gt;
      &lt;Grid.RowDefinitions&gt;
          &lt;RowDefinition Height="Auto"/&gt;
          &lt;RowDefinition Height="Auto"/&gt;
          &lt;RowDefinition Height="*"/&gt;
          &lt;RowDefinition Height="Auto"/&gt;
      &lt;/Grid.RowDefinitions&gt;
  
      &lt;TextBlock x:Name="HeaderText"
          res:Strings.Assignment="Text=MachiningView_Name"/&gt;
  
      &lt;sdk:TabControl Grid.Row="2"&gt;
          &lt;sdk:TabItem Header="Projects"&gt;
              &lt;ScrollViewer&gt;
                  &lt;Grid&gt;
                      &lt;controls:Organizer Margin="4" ItemsSource="{Binding ProjectSummaries}" Height="24" VerticalAlignment="Top"&gt;
                          &lt;controls:Organizer.GroupDescriptions&gt;
                              &lt;controls:OrganizerGroupDescription res:Strings.Assignment="Text=NoGroupingText" IsDefault="True" /&gt;
                              &lt;controls:OrganizerGroupDescription res:Strings.Assignment="Text=GroupOwnerEmailText"&gt;
                                  &lt;controls:OrganizerGroupDescription.GroupDescription&gt;
                                      &lt;helpers:OwnerEmailGroupDescription /&gt;
                                  &lt;/controls:OrganizerGroupDescription.GroupDescription&gt;
                              &lt;/controls:OrganizerGroupDescription&gt;
                              &lt;controls:OrganizerGroupDescription res:Strings.Assignment="Text=GroupStoreNumberText"&gt;
                                  &lt;controls:OrganizerGroupDescription.GroupDescription&gt;
                                      &lt;helpers:StoreNumberGroupDescription /&gt;
                                  &lt;/controls:OrganizerGroupDescription.GroupDescription&gt;
                              &lt;/controls:OrganizerGroupDescription&gt;
                          &lt;/controls:Organizer.GroupDescriptions&gt;
                      &lt;/controls:Organizer&gt;
                  &lt;/Grid&gt;
              &lt;/ScrollViewer&gt;
          &lt;/sdk:TabItem&gt;
          &lt;sdk:TabItem Header="Machine Queues"&gt;
              &lt;ScrollViewer&gt;
                  &lt;Grid&gt;
                      &lt;controls:Organizer Margin="4" ItemsSource="{Binding ProjectSummaries}" Height="24" VerticalAlignment="Top"&gt;
                          &lt;controls:Organizer.GroupDescriptions&gt;
                              &lt;controls:OrganizerGroupDescription res:Strings.Assignment="Text=NoGroupingText" IsDefault="True" /&gt;
                              &lt;controls:OrganizerGroupDescription res:Strings.Assignment="Text=GroupOwnerEmailText"&gt;
                                  &lt;controls:OrganizerGroupDescription.GroupDescription&gt;
                                      &lt;helpers:OwnerEmailGroupDescription /&gt;
                                  &lt;/controls:OrganizerGroupDescription.GroupDescription&gt;
                              &lt;/controls:OrganizerGroupDescription&gt;
                              &lt;controls:OrganizerGroupDescription res:Strings.Assignment="Text=GroupStoreNumberText"&gt;
                                  &lt;controls:OrganizerGroupDescription.GroupDescription&gt;
                                      &lt;helpers:StoreNumberGroupDescription /&gt;
                                  &lt;/controls:OrganizerGroupDescription.GroupDescription&gt;
                              &lt;/controls:OrganizerGroupDescription&gt;
                          &lt;/controls:Organizer.GroupDescriptions&gt;
                      &lt;/controls:Organizer&gt;
                  &lt;/Grid&gt;
              &lt;/ScrollViewer&gt;
          &lt;/sdk:TabItem&gt;
      &lt;/sdk:TabControl&gt;
  &lt;/Grid&gt;
  </code></pre>
  
  <p>And here is my user control's XAML:</p>
  
  <pre><code>&lt;StackPanel Orientation="Horizontal" DataContext="{Binding ElementName=UserControl}"&gt;
      &lt;sdk:Label Content="Page:" VerticalAlignment="Center" Margin="0,0,5,0"/&gt;
  
      &lt;sdk:DataPager Name="_projectSummariesPager"
                     Margin="0,0,5,0"
                     DisplayMode="FirstLastPreviousNextNumeric"
                     Source="{Binding Path=ItemsSource}"
                     PageSize="10"/&gt;
  
      &lt;ComboBox Name="_itemPerPageCombo"
                Margin="0,0,5,0" 
                SelectionChanged="_itemPerPageCombo_SelectionChanged"
                SelectedItem="{Binding Path=SelectedPageSize, Mode=TwoWay}"
                SelectedValuePath="Value"
                ItemsSource="{Binding Path=PageSizes}"/&gt;
  
      &lt;ComboBox Name="_groupDescription" 
                Margin="0,0,5,0" 
                SelectionChanged="_groupDescription_SelectionChanged"
                SelectedItem="{Binding Path=SelectedGroupDescription, Mode=TwoWay}"
                ItemsSource="{Binding Path=GroupDescriptions}"/&gt;
  &lt;/StackPanel&gt;
  </code></pre>