В моем настольном приложении WPF4 есть большой блок с меню боковой панели, которое повторяется в каждом окне и занимает около 70 строк XAML. Чтобы улучшить повторное использование кода, Я хочу разделить XAML-файл на два файла:
Как я понял, есть два способа реализовать мою проблему:
ResourceDictionary
UserControl
/ CustomControl
Мои вопросы:
Что в чем разница между ResourceDictionary
и UserControl
? Не могли бы вы привести примеры, в которых я должен использовать UserControl
и где ResourceDictionary
?
Не могли бы вы привести пример полного кода, как включать / импортировать содержимое одного XAML-файла в другой ?
PS Вот пример кода, который я хочу экспортировать в отдельный XAML-файл:
<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>