Diviser un gros XAML dans nombre de Sous-fichiers XAML

Dans mon WPF4 de Bureau de l'application il y a un gros bloc avec menu latéral qui se répète à chaque fenêtre et prend environ 70 lignes de code XAML. Afin d'améliorer la réutilisation du code, je souhaite partager fichier XAML dans deux fichiers:

  1. XAML fichier qui contient le code pour le menu latéral (≈70 lignes)
  2. De Base du fichier XAML qui contient des «include/référence» pour XAML fichier avec le menu de barre de code

Ce que j'ai compris, il y a deux façons de mettre en œuvre mon problème:

  1. Utilisation ResourceDictionary
  2. Utilisation UserControl /CustomControl

Mes questions sont:

  1. Quelle est la différence entre ResourceDictionary et UserControl? Pourriez-vous me donner des exemples où je dois utiliser UserControl et où ResourceDictionary?
  2. Pourriez-vous nous donner un exemple de code complet comment inclure/importer le contenu d'un XAML fichier à d'autres?

P. S. Voici un exemple de code que je veux exporter pour séparer XAML fichier:

<Border Style="{StaticResource Body_SideBarMenu_Border_Settings}">
    <StackPanel Style="{StaticResource Body_SideBarMenu}">

    <TextBlock Style="{StaticResource Body_SideBarMenu_Title}"
           Text="{x:Static res:Resources.WinApp_SideBarMenu_Title}" />

        <TextBlock x:Name="SideBar_WinReports"
               Style="{StaticResource Body_SideBarMenu_Item}"
               Text="{x:Static res:Resources.DashListMarker}">
                    <Hyperlink KeyboardNavigation.TabIndex="12"
                           Style="{StaticResource Body_SideBarMenu_Item_Hyperlink}"
                           Click="Call_WinReports_Click">
                            <TextBlock Text="{x:Static res:Resources.WinApp_ModuleName_Reports}" />
                    </Hyperlink>
        </TextBlock>

    </StackPanel>
</Border>

OriginalL'auteur Mike B. | 2011-02-12