2012-03-24 12 views
1

Ich habe begonnen, eine WPF-Anwendung zu entwickeln. Ich verwende eine TabControl, um zu navigieren, aber wie kann ich den Inhalt einer TabItem wechseln? In der ersten TabItem habe ich ein UserControl mit einer ListView und bei Doppelklick auf eine Zeile ändere ich den Inhalt der TabItem.Tabcontrol Navigation

TabItem:

<TabItem x:Name="kundenTab"> 
    <TabItem.Header> 
     <StackPanel> 
      <TextBlock Text="Kunden" FontFamily="Verdana" Style="{StaticResource TabItemText}"/> 
     </StackPanel> 
    </TabItem.Header> 
    <z:Kunden Margin="10"/> 
</TabItem> 

Listview:

<ListView ItemsSource="{Binding Kunden}" Background="Transparent" BorderThickness="0" Margin="10,20,10,10" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.CanContentScroll="True"> 
    <ListView.View> 
     <GridView> 
      <GridViewColumn Header="Vorname" DisplayMemberBinding="{Binding vorname}"/> 
      <GridViewColumn Header="Nachname" DisplayMemberBinding="{Binding nachname}"/> 
      <GridViewColumn Header="Telefonnummer" DisplayMemberBinding="{Binding telnr}" Width="120"/> 
      <GridViewColumn Header="Email" DisplayMemberBinding="{Binding email}" Width="190"/> 
      <GridViewColumn Header="Adresse" DisplayMemberBinding="{Binding adresse}" Width="160"/> 
     </GridView> 
    </ListView.View> 
</ListView> 

Kann mir jemand helfen?

+0

Im Beispiel ist kein UserControl vorhanden. Worauf möchtest du den Inhalt ändern? Definieren Sie "das Tabitem"? – Paparazzi

Antwort

0

Es hängt wirklich von der Komplexität Ihrer Implementierung ab. Wenn der TabItem Inhalte in einer Ansichtsmodell Eigenschaft gehalten wird (mit INotifyPropertyChanged) innerhalb jedes Element Ihrer DataGrid, dann binden nur, dass an den TabItemContent Eigenschaft wie folgt:

<TabItem x:Name="kundenTab" Content="{Binding ElementName=myDataGrid, Path=SelectedItem.ContentProperty}"> 
    <TabItem.Header> 
     <StackPanel> 
      <TextBlock Text="Kunden" FontFamily="Verdana" Style="{StaticResource TabItemText}"/> 
     </StackPanel> 
    </TabItem.Header> 
    <z:Kunden Margin="10"/> 
</TabItem> 

Wo Content ist der Name des INPC Eigenschaft in Ihrem ViewModel für das ausgewählte Objekt.