2010-04-19 77 views
0

我定義下面的TabControl稱爲TabControl1:如何將一個TabControl綁定到WPF中另一個TabControl的TabItems?

<TabControl> 
    <TabItem Header="Cheese"> The Cheese Tab </TabItem> 
    <TabItem Header="Pepperoni"> The Pepperoni Tab </TabItem> 
    <TabItem Header="Mushrooms"> The Mushrooms Tab </TabItem> 
</TabControl> 

我定義另一個的TabControl,TabControl2其動態地從一個加載或加載插件:

<TabControl> 
    <TabItem Header="Anchovies"> The AnchoviesTab </TabItem> 
    <TabItem Header="Jalepenos"> The Jalepenos Tab </TabItem> 
    <TabItem Header="Rattle Snake"> The Rattle Snake Tab </TabItem> 
</TabControl> 

後TabControl1結合TabControl2在「Cheese」項之後,TabControl1應該如下所示:

<TabControl> 
    <TabItem Header="Cheese"> The Cheese Tab </TabItem>  
    <TabItem Header="Anchovies"> The AnchoviesTab </TabItem> 
    <TabItem Header="Jalepenos"> The Jalepenos Tab </TabItem> 
    <TabItem Header="Rattle Snake"> The Rattle Snake Tab </TabItem> 
    <TabItem Header="Pepperoni"> The Pepperoni Tab </TabItem> 
    <TabItem Header="Mushrooms"> The Mushrooms Tab </TabItem> 
</TabControl> 

回答

0

使用數據爲您的UI建模。即查看模型。從這些視圖模型生成UI:

<TabControl ItemsSource="{Binding Items}" 

然後你就可以在您認爲合適這些模型組合成集,並透過這些藏品的UI。

+0

我忘了提這個。第一個項目列表是靜態的,而第二個列表是從另一個程序集動態加載的。我想利用設計時環境在各個標籤頁上佈置我的控件。我沒有看到我如何用視圖模型做到這一點,因爲我不得不使用模板和代碼重新創建所有這些控件。而且,這些控件包含數據,例如存儲在程序集設置文件中的設置。如果我能以某種方式綁定單個TabItem而不是整個TabControl,這將解決我的問題。 – 2010-04-19 20:41:54

+0

請讓我補充一點,我以前的解決方案是加載包含TabControl2的程序集並將其各個TabItems複製到Control1。這有效,但不像我想的那樣乾淨和充滿活力。我可以忍受這一點,但是有沒有辦法「結合」這兩個TabControls,即在給定節點上輕鬆地將TabItems從一個TabItems插入到另一個TabItems? – 2010-04-19 20:47:23