2009-09-01 12 views

risposta

11

Non è necessario utilizzare un TabControl. Si può solo vincolare il proprio ListBox ad un elenco di elementi, e mettere un ContentControl accanto, legato alla voce selezionata:

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

He-he :). L'hai scritto più velocemente del pulsante "Pubblica la tua risposta". Volevo solo scrivere uno scenario di dettagli master con ListBox, ma lo hai reso più veloce :). Saluti. – Anvaka

12

I controlli WPF sono progettati per abilitare esattamente ciò che si desidera. Riutilizzare la funzionalità di controllo mentre si sostituisce completamente la rappresentazione visiva. Dovrai creare il tuo ControlTemplate per il TabControl. È possibile trovare uno TabControl ControlTemplate Example on MSDN. Dovrai anche studiare lo Control Authoring Overview on MSDN.

In realtà trovo la documentazione di Silverlight 3 un po 'più facile da digerire, e anche se ci sono alcune differenze quando si tratta di controllare lo stile i concetti fondamentali sono sempre gli stessi. È possibile leggere Customizing the Appearance of an Existing Control by Using a ControlTemplate on MSDN per informazioni sui modelli di controllo e quindi studiare TabControl Styles and Templates per scoprire ciò che è necessario per creare il proprio modello di controllo in Silverlight.

È possibile utilizzare Expression Blend per estrarre il modello predefinito TabControl in WPF.

+3

Grande interessante resoconto che riassume il potere e l'intento di controlli WPF bene. Devo ancora essere ritenuto degno della possibilità di votare, altrimenti questa è un'altra risposta utile a cui avrei dato credito. Forse mi ricorderò di tornare a questo dato che è sulla mia stessa domanda se mai raggiungerò quel punto. – jan

Problemi correlati