Я пытался создать собственный скин / шаблон для TabControl в WPF.
Я хочу, чтобы вкладки отображались в ComboBox.Когда вы выбираете элемент в ComboBox, я хочу, чтобы в области содержимого элемента управления вкладками отображалось содержимое TabItem.
Вот изображение, показывающее то, что я ищу:
Я мог бы сделать это с помощью некоторой настройки мастер-детализации с объектами данных и шаблонами, но проблема в том, что я хочу настроить элементы управления с использованием формата TabControl XAML, например:
<TabControl Style="{DynamicResource ComboTabControlStyle}">
<TabItem Header="TabItem1">
<TextBlock Text="TabItem1 Content!" FontSize="18.667" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</TabItem>
<TabItem Header="TabItem2">
<TextBlock Text="TabItem2 Content!" FontSize="18.667" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</TabItem>
<TabItem Header="TabItem3">
<TextBlock Text="TabItem3 Content!" FontSize="18.667" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</TabItem>
</TabControl>
Есть какие-нибудь мысли или предложения?
Очень легко изменить расположение элементов вкладки, используя другую панель, но ComboBox - это ItemsControl, а не Panel.
Я попытался поместить ComboBox в шаблон TabControl и связать ItemsSource ComboBox со свойством TabControl.Items, но, похоже, он работал неправильно.
Я также попытался создать настраиваемую панель, которая отображает только один «выбранный» элемент за раз и показывает все элементы в раскрывающемся списке при щелчке по нему (в основном панель «ComboBox»).Я столкнулся с проблемой, потому что визуальные элементы могут быть только в одном месте визуального дерева.Таким образом, помещение детей панели во всплывающее окно вызвало исключение.
У кого-нибудь есть другие идеи?
Спасибо за помощь!