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); } } }