Каждая вкладка содержит ListView, и мне нужно изменять свойство ItemsSource этого ListView каждый раз, когда пользователь выбирает другую вкладку.Как я могу сделать это в XAML?Я пробовал
<TabItem Header="F2" ContentTemplate="{StaticResource TabItemTemplate}" Tag="t2">
<DataTrigger Binding="{Binding Path=IsSelected, RelativeSource={RelativeSource Mode=Self}}" Value="True">
<Setter TargetName="listView1" Property="ItemsSource" Value="{Binding t2C}"></Setter>
</DataTrigger>
</TabItem>
, но элемент с именем listView1 недоступен.
<Window.Resources>
<DataTemplate x:Key="TabItemTemplate">
<Grid DataContext="{Binding RelativeSource={RelativeSource AncestorType={x:Type Window}}}">
<ListView x:Name="listView1" ItemsSource="{Binding NewsPropCollection}">
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate>
<!-- Some code here -->
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Grid/>
</DataTemplate>
</Window.Resources>
<Grid>
<TabControl x:Name="tabControl" Grid.Row="1">
<TabItem Header="F1" ContentTemplate="{StaticResource TabItemTemplate}" Tag="t1" IsSelected="True"/>
<TabItem Header="F2" ContentTemplate="{StaticResource TabItemTemplate}" Tag="t2"></TabItem>
<TabItem Header="F3" ContentTemplate="{StaticResource TabItemTemplate}" Tag="t3"></TabItem>
<TabItem Header="F4" ContentTemplate="{StaticResource TabItemTemplate}" Tag="t4"></TabItem>
<TabItem Header="F5" ContentTemplate="{StaticResource TabItemTemplate}" Tag="t5"></TabItem>
</TabControl>
</Grid>