Динамически изменять свойство ItemsSource объекта ListView внутри TabItem в зависимости от выбранного в данный момент TabItem. - PullRequest
0 голосов
/ 08 февраля 2019

Каждая вкладка содержит 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...