2009-09-01 3 views
8

Что мне нужно - это элемент управления, который функционирует так же, как и элемент управления вкладкой, но вместо того, чтобы иметь вкладки в верхней части, элементы будут отображаться в окне списка сбоку. Я предполагаю, что это возможно, но не нашли примеров, я надеюсь, что здесь кто-то здесь сделал что-то подобное.Возможно ли создать шаблон управления вкладкой WPF, который не похож на элемент управления вкладкой?

ответ

11

Вам не нужно использовать TabControl. Можно просто привязать свой ListBox к списку пунктов, и положить ContentControl рядом с ним, привязанной к выбранному элементу:

<DockPanel> 
    <ListBox Name="listBox" 
      DockPanel.Dock="Left" 
      ItemsSource="{Binding Items}" 
      DisplayMemberPath="Name"/> 
    <ContentControl Content="{Binding SelectedItem, ElementName=listBox}" 
        ContentTemplate="{StaticResource theTemplate}"/> 
</DockPanel> 
+0

Он-он :). Вы написали это быстрее, чем я нажал кнопку «Разместить свой ответ». Просто хотел написать о сценарии master-details с ListBox, но вы сделали это быстрее :). Приветствия. – Anvaka

12

Элементы управления WPF предназначены для обеспечения именно того, что вы хотите. Чтобы повторно использовать функциональные возможности управления, полностью заменив визуальное представление. Вам нужно будет создать свой собственный ControlTemplate для TabControl. Вы можете найти TabControl ControlTemplate Example on MSDN. Вам также придется изучить Control Authoring Overview on MSDN.

Я на самом деле нахожу, что документация Silverlight 3 несколько легче усваивается, и хотя есть некоторые различия, когда дело доходит до управления стилем, фундаментальные концепции все те же. Вы можете прочитать Customizing the Appearance of an Existing Control by Using a ControlTemplate on MSDN, чтобы узнать о шаблонах управления, а затем изучить TabControl Styles and Templates, чтобы узнать, что требуется для создания собственного шаблона управления в Silverlight.

Вы можете использовать Expression Blend для извлечения шаблона по умолчанию TabControl в WPF.

+3

Великая рецензия что суммирует силу и намерение WPF управления красиво. Я еще не считаю себя достойным возможности голосовать, иначе это еще один полезный ответ, на который я бы отдал должное. Может быть, я запомню, что вернусь к этому, потому что это на мой вопрос, если я когда-нибудь дойду до этого. – jan