重构两千行代码xaml页面

时间:2013-04-16 13:37:03

标签: c# .net wpf xaml refactoring

我的页面有5个标签项,有超过两千行代码。是否可以将每个标签项的代码移动到某种模板?我怎样才能重构这么大的一页呢?

谢谢。

2 个答案:

答案 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>