Tabcontrol导航

时间:2012-03-24 16:50:16

标签: wpf user-controls wpf-controls

我已经开始开发WPF应用程序了。我使用TabControl进行导航,但如何切换TabItem的内容?在第一个TabItem我有一个带有ListView的UserControl,双击一行我将更改TabItem的内容。

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> 

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

这实际上取决于您的实施的复杂性。如果TabItem内容保存在INotifyPropertyChanged的每个项目中的ViewModel属性(包含DataGrid)中,则只需将其绑定到TabItem Content属性像这样:

<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>

ContentProperty 是ViewModel中所选项目的INPC属性的名称。