zoukankan      html  css  js  c++  java
  • 【转】WPF 从FlowDocument中找到Hyperlink

    原文地址:How can I get a FlowDocument Hyperlink to launch browser and go to URL in a WPF app?

     #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
  • 相关阅读:
    django学习笔记(一)
    Python之函数进阶
    Python之函数初识
    Python之文件操作
    基础补充
    字典
    神奇的列表
    万能的字符串
    Python基础(二)
    使用paramiko进行ssh连接
  • 原文地址:https://www.cnblogs.com/ZXdeveloper/p/7117673.html
Copyright © 2011-2022 走看看