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));
}
我认为有以下代码 (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));
}