windows 通用应用程序中的 MarkdownTextBlock 控件无法打开超链接

Hyperlinks doesn't open in MarkdownTextBlock control in windows universal application

我认为有以下代码 (XAML)

<Page
x:Class="MyProject1.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"
mc:Ignorable="d" Background="Black">
<Grid Background="White" Name="mainGrid">

    <Border  BorderBrush="Cyan" BorderThickness="0.2" Margin="3,0,3,3">
        <ListView x:Name="ListView" VerticalAlignment="Bottom" SelectionMode="None" IsItemClickEnabled="True">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <controls:MarkdownTextBlock Name="markdownBlock" Text="[link](www.google.com)">
                    </controls:MarkdownTextBlock>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
    </Border>
</Grid>
</Page>

我试图在 MarkdownTextBlock 控件中渲染 hyperlinks,但是当我点击 hyperlink 时,没有任何效果。

当我在浏览器中 运行 时使用相同的代码,工作正常。我的意思是,我可以单击 link,然后新的 tab/browser 打开用于 http 请求。

我在上面 xaml 代码的 MarkdownTextBlock 控件中缺少什么? 我是否需要添加任何 属性 才能启用 link 点击?

您需要手动处理 link 的点击事件,您可以在其中启动浏览器以点击 link。

View.xaml

<controls:MarkdownTextBlock Name="markdownBlock" Text="[link](www.google.com)" LinkClicked="MarkdownText_LinkClicked">

View.xaml.cs

private async void MarkdownText_LinkClicked(object sender, UI.Controls.LinkClickedEventArgs e)
{
    await Launcher.LaunchUriAsync(new Uri(e.Link));
}