首页 > 解决方案 > 在 WPF 中返回可点击的超链接表单转换器

问题描述

我的文本块上有一个 IMultiValueConveter,它可以返回字符串、双精度值等。在某些情况下,转换器可以获得一个包含网站地址的字符串。我现在为了测试目的而保持简单,当我得到一个以 http 或 https 开头的字符串时,我想返回一个可在 UI 中单击的超链接,但我不知道如何使它工作。

 public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            
            var valueOwner = values[0] as ValueOwner;
         
            if (valueOwner.Value is string)
            {
                var valueOwnerstring = valueOwner.Value.ToString();

                if (valueOwnerstring.Contains("https") || valueOwnerstring.Contains("http"))
                {
                    //var run = new Run(valueOwnerstring);
                    //var hyperlink = new Hyperlink(run);
                    //var navigateUri = hyperlink.NavigateUri;
                    // return navigateUri;

                    var uri = new Uri(valueOwnerstring);
                    return uri.AbsoluteUri;
                }
            }
         
            return string.Format("{0} {1}", valueOwner.Value);
        }

标签: c#wpf

解决方案


推荐阅读