2

我的页面有 5 个选项卡项,代码超过两千行。是否可以将每个选项卡项的代码移动到某种模板?如何重构这么大的页面?

谢谢你。

4

2 回答 2

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>

如果您想在多个选项卡上使用内容,它实际上将共享同一个静态实例,因此您必须指定是否需要它的多个实例。

于 2013-04-16T14:21:50.640 回答
2

您可以创建新的用户控件并将每个标签页的内容放入其中

<UserControl x:Class="InstrumentServiceTabItems.ServiceHistory">
    <Grid>
    ...
    </Grid>
</UserControl>

然后在主页上包括参考如下:

<Page x:Class="InstrumentServicePage"
      xmlns:sHistory="clr-namespace:InstrumentServiceTabItems">

        <TabControl>
            <TabItem>
               <sHistory:ServiceHistory />
            <TabItem>
        </TabControl>
</Page>
于 2013-04-16T15:01:27.563 回答