我的页面有 5 个选项卡项,代码超过两千行。是否可以将每个选项卡项的代码移动到某种模板?如何重构这么大的页面?
谢谢你。
您总是可以创建新的资源字典并将每个标签页的内容放入其中,给它们一个键。
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid x:Key="tabPage1">
<!-- your controls here-->
</Grid>
</ResourceDictionary>
然后用那个键引用。
<TabControl>
<TabItem Content="{StaticResource tabPage1}"/>
</TabControl>
如果您想在多个选项卡上使用内容,它实际上将共享同一个静态实例,因此您必须指定是否需要它的多个实例。
您可以创建新的用户控件并将每个标签页的内容放入其中
<UserControl x:Class="InstrumentServiceTabItems.ServiceHistory">
<Grid>
...
</Grid>
</UserControl>
然后在主页上包括参考如下:
<Page x:Class="InstrumentServicePage"
xmlns:sHistory="clr-namespace:InstrumentServiceTabItems">
<TabControl>
<TabItem>
<sHistory:ServiceHistory />
<TabItem>
</TabControl>
</Page>