'WinUI3 - bind ContentControl to CollectionViewSource CurrentItem instead of collection?

When an item is selected in my ListView, I want to display a specific user control in the my ContentControl.

Using the following code, my content control merely displays "Microsoft.UI.Xaml.Data.CollectionView". I understand the ContentControl is trying to bind to the entire list, but how do I tell it to bind to the CollectionViewSource's CurrentItem?

<Page.Resources>
    <CollectionViewSource x:Name="PChoicesCollectionView" Source="{x:Bind ViewModel.PChoices}"/>
</Page.Resources>

<ListView ItemsSource="{Binding Source={StaticResource PChoicesCollectionView}}">
    <ListView.ItemTemplate>
        <DataTemplate x:DataType="p:PBase">
            <Grid>
                <TextBlock Text="{x:Bind Name.Name}" FontSize="18" FontWeight="SemiBold"/>
            </Grid>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

<ContentControl ContentTemplateSelector="{StaticResource pDataTemplateSelector}" Content="{Binding Source={StaticResource PChoicesCollectionView}}"/>


Solution 1:[1]

You could bind to the SelectedItem property of the ListView:

<ListView Name="lv" 
          ItemsSource="{Binding Source={StaticResource PChoicesCollectionView}}">
    <ListView.ItemTemplate>
        <DataTemplate x:DataType="p:PBase">
            <Grid>
                <TextBlock Text="{Binding}" FontSize="18" FontWeight="SemiBold"/>
            </Grid>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

<ContentControl ContentTemplateSelector="{StaticResource pDataTemplateSelector}"
    Content="{Binding SelectedItem, ElementName=lv}"/>

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 mm8