private async void HotspotClick(Hyperlink sender, HyperlinkClickEventArgs args)
        {
            // 获取父级的 TextBlock。
            var textBlock = sender.GetAncestorsOfType<TextBlock>().First();

            // 获取点击的热点。
            var hotspot = textBlock.DataContext as Hotspot;
            if (hotspot != null)
            {
                var uri = new Uri(hotspot.Link);
                await Launcher.LaunchUriAsync(uri);

                // 获取子级的 Run。
                var runs = sender.Inlines.OfType<Run>();
                foreach (var run in runs)
                {
                    // 设置为紫色,表示已经访问过。
                    run.Foreground = new SolidColorBrush(Colors.Purple);
                }
            }
        }