Dans mon application WPF4 Desktop, il y a un gros bloc avec un menu de barre latérale qui se répète dans chaque fenêtre et prend environ 70 lignes de XAML. Afin d'améliorer le code réutilisation, je voudrais partager le fichier XAML dans deux fichiers:Diviser un grand XAML en nombre de fichiers Sub-XAML
- XAML fichier qui contient le code pour le menu de la barre latérale (≈70 lignes)
- base fichier XAML qui contient «include/référence »XAML fichier avec le code barre de menu latérale
Comme je l'ai compris, il y a deux façons de mettre en œuvre mon problème:
- Utilisez ResourceDictionary
- Utilisez UserControl/CustomControl
Mes questions sont les suivantes:
Quelle est la différence entre ResourceDictionary et UserControl? Pourriez-vous me donner des exemples où je dois utiliser UserControl et où ResourceDictionary?
Pourriez-vous donner un exemple de code complet comment inclure/importer le contenu d'un fichier XAML à un autre?
P.S. Voici un exemple de code que je veux exporter de 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>
Et, cela ne concerne pas seulement les commandes réutilisables. Vous pouvez le faire à des contrôles qui ne sont pas réutilisables aussi. – r3st0r3