2010-04-19 5 views
0

я определил следующий TabControl называется TabControl1:Как связать один TabControl с TabItems другого TabControl в WPF?

<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 из этих моделей зрения:

<TabControl ItemsSource="{Binding Items}" 

Затем вы можете объединить эти модели в коллекции, как вы считаете нужным, и создавать пользовательский интерфейс из этих коллекций.

+0

Я забыл упомянуть об этом. Первый список элементов статичен, а второй список динамически загружается из другой сборки. Я хочу использовать среду времени разработки для компоновки моих элементов управления на отдельных вкладках. Я не вижу, как это сделать с моделью просмотра, так как мне придется воссоздать все эти элементы управления с помощью шаблонов и кода. Более того, эти элементы управления содержат такие данные, как настройки, которые хранятся в файле настроек сборок. Если я могу как-то связать только отдельные элементы TabItems, а не весь TabControl, это решит мою проблему. –

+0

Прошу также добавить, что моим предыдущим решением было загрузить сборку, содержащую TabControl2, и скопировать ее отдельные вкладки в Control1. Это работает, но не так чисто и динамично, как хотелось бы. Я мог бы жить с этим, но есть ли способ «объединить» эти два элемента управления TabControls, т. Е. Легко вставить TabItems из одного в другой на данном узле? –