0

我的视图中有以下代码(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控件中呈现超链接,但是当我单击超链接时,没有效果。

当我在浏览器中运行相同的代码时,工作正常。我的意思是,我可以单击链接,然后为 http 请求打开新的选项卡/浏览器。

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

4

1 回答 1

2

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

查看.xaml

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

查看.xaml.cs

private async void MarkdownText_LinkClicked(object sender, UI.Controls.LinkClickedEventArgs e)
{
    await Launcher.LaunchUriAsync(new Uri(e.Link));
}
于 2017-03-22T21:37:32.070 回答