Exemple #1
0
        private static void Assert(string input, string expected)
        {
            var runs = LinkDetectionHelper.DetectRuns(input);

            string actual = "";

            foreach (var run in runs)
            {
                if (run is PortableHyperlinkRun hl)
                {
                    actual += $"[{run.Text}]({hl.Uri.OriginalString})";
                }
                else
                {
                    actual += run.Text;
                }
            }

            Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(expected, actual, "Original: " + input);
        }
        public static IEnumerable <Inline> Convert(string text, Brush hyperlinkColor = null)
        {
            var portableRuns = LinkDetectionHelper.DetectRuns(text);

            foreach (var run in portableRuns)
            {
                if (run is PortableHyperlinkRun hl)
                {
                    var answer = new Hyperlink()
                    {
                        NavigateUri = hl.Uri,
                        Inlines     =
                        {
                            new Run()
                            {
                                Text = hl.Text
                            }
                        }
                    };

                    if (hyperlinkColor != null)
                    {
                        answer.Foreground = hyperlinkColor;
                    }

                    yield return(answer);
                }
                else
                {
                    yield return(new Run()
                    {
                        Text = run.Text
                    });
                }
            }
        }