我的页面有5个标签项,有超过两千行代码。是否可以将每个标签项的代码移动到某种模板?我怎样才能重构这么大的一页呢?
谢谢。
答案 0 :(得分:3)
您可以随时创建新的资源词典,并将每个标签页的内容放入其中,为其提供密钥。
<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>
如果您想在多个标签页上使用内容,它实际上会共享同一个静态实例,因此您必须指定是否需要多个实例。
答案 1 :(得分:2)
您可以创建新的UserControl并将每个标签页的内容放在其中
<UserControl x:Class="InstrumentServiceTabItems.ServiceHistory">
<Grid>
...
</Grid>
</UserControl>
然后在主页上包含ref如下:
<Page x:Class="InstrumentServicePage"
xmlns:sHistory="clr-namespace:InstrumentServiceTabItems">
<TabControl>
<TabItem>
<sHistory:ServiceHistory />
<TabItem>
</TabControl>
</Page>