2013-04-16 70 views
2

我的頁面有5個選項卡項目,並且有超過2000行代碼。是否有可能將每個標籤項目的代碼移動到某種模板?我如何重構這樣一個大頁面?重構兩千行代碼xaml頁面

謝謝。

+5

把每個標籤頁的用戶控件。 –

回答

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

,如果你想使用多個標籤的內容它實際上將共享相同的靜態實例,所以你必須指定,如果你想它的多個實例。