Como associar a vista ao viewmodel ou a vários DataTemplates for ViewModel?

Dado que eu tenho um GridView e quero navegar para uma página diferente, clicando em cada item.

Como navegar para uma visualização associada ao modelo de visualização?

No WPF, há uma maneira de definir vários Datatemplates para o modelo de exibição.

<TabControl Grid.Row="1" Margin="0" ItemsSource="{Binding Tabs}" SelectedIndex="0" SelectedItem="{Binding SelectedTab}">
    <TabControl.Resources>
        <DataTemplate DataType="{x:Type dashboard:DashboardViewModel}">
            <dashboard:DashboardView/>
        </DataTemplate>
        <DataTemplate DataType="{x:Type controls:ExchangeViewModel}">
            <controls:ExchangeView/>
        </DataTemplate>
        <DataTemplate DataType="{x:Type request:RequestViewModel}">
            <request:RequestView/>
        </DataTemplate>
        <DataTemplate DataType="{x:Type addresses:AddressViewModel}">
            <addresses:AddressView/>
        </DataTemplate>
        <DataTemplate DataType="{x:Type settings:ExchangeSettingsViewModel}">
            <settings:ExchangeSettingsView/>
        </DataTemplate>

    </TabControl.Resources>
    <TabControl.ItemTemplate>
        <DataTemplate DataType="vm:ViewModelBase">
            <TextBlock Text="{Binding Header}" FontSize="14"></TextBlock>
        </DataTemplate>
    </TabControl.ItemTemplate>
</TabControl>

Isto é o que eu tentei no UWP no meu caso particular:

<Frame Grid.Row="1" DataContext="{x:Bind ViewModel.Value}">
    <Frame.Resources>
        <DataTemplate x:DataType="viewModels:ExampleViewModel1">
            <views:ExampleView1></views:ExampleView1>
        </DataTemplate>
        <DataTemplate x:DataType="viewModels:ExampleViewModel2">
            <views:ExampleView2></views:ExampleView2>
        </DataTemplate>
    </Frame.Resources>
</Frame>

O quadro faz parte de uma página e quero mostrar a visualização correspondente com base no valor do ViewModel.

O Visual Studio me diz que o DataTemplate precisa ter um atributo-chave, mas mesmo assim não funciona como no WPF, pois não está criando a exibição.

Eu sei que DataType foi substituído por x: DataType e x: Type parece ter desaparecido. Existe uma maneira de alcançar resultados semelhantes?

questionAnswers(1)

yourAnswerToTheQuestion