How can I get a FlowDocument Hyperlink to launch browser and go to URL in a WPF app?

来源:互联网 发布:php substr count函数 编辑:程序博客网 时间:2024/04/27 17:35

From: https://stackoverflow.com/questions/2288999/how-can-i-get-a-flowdocument-hyperlink-to-launch-browser-and-go-to-url-in-a-wpf

 

 

#region Activate Hyperlinks in the Rich Text box    //http://stackoverflow.com/questions/5465667/handle-all-hyperlinks-mouseenter-event-in-a-loaded-loose-flowdocument    void SubscribeToAllHyperlinks(FlowDocument flowDocument)    {        var hyperlinks = GetVisuals(flowDocument).OfType<Hyperlink>();        foreach (var link in hyperlinks)            link.RequestNavigate += new System.Windows.Navigation.RequestNavigateEventHandler(link_RequestNavigate);    }    public static IEnumerable<DependencyObject> GetVisuals(DependencyObject root)    {        foreach (var child in LogicalTreeHelper.GetChildren(root).OfType<DependencyObject>())        {            yield return child;            foreach (var descendants in GetVisuals(child))                yield return descendants;        }    }    void link_RequestNavigate(object sender, System.Windows.Navigation.RequestNavigateEventArgs e)    {        //http://stackoverflow.com/questions/2288999/how-can-i-get-a-flowdocument-hyperlink-to-launch-browser-and-go-to-url-in-a-wpf        Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri));        e.Handled = true;    }    #endregion Activate Hyperlinks in the Rich Text box


 

WPF中找指定类型控件列表 (UIElementExtensions.cs)

阅读全文
0 0
原创粉丝点击