TextBlock有70%的时间拒绝制作超链接
本文关键字:超链接 拒绝 时间 TextBlock | 更新日期: 2023-09-27 18:28:22
真的很奇怪的问题,简而言之,我正在对文本块中的每个单词进行foreach,如果这个单词以"@"开头,我想用它创建一个用户名超链接。然而,在大约70%的情况下,它会很好地替换文本,但它不会变成超链接。
部分代码:
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
var kaas = Tweet.Split(' ');
foreach (string a in kaas)
{
if (a.StartsWith("@"))
{
Hyperlink uname = new Hyperlink();
uname.NavigateUri = new Uri("http://twitter.com/" + "xarinatan");
uname.RequestNavigate += new RequestNavigateEventHandler(Hyperlink_RequestNavigateEvent);
uname.Inlines.Add("ASDAS");
TweetBlock.Inlines.Add(uname);
//TweetBlock.Inlines.Add(Username(a));
TweetBlock.Inlines.Add(" ");
}
}
}
上面的代码将所有以"@"开头的实例转换为"ASDAS",但大多数时候都无法将其正确转换为超链接,尽管有时会将其转换。我完全无法理解它是如何有时工作的,而不是一直工作或根本不工作。
欢迎所有建议!
edit:为了澄清,它总是用"ASDAS"替换文本,但在70%的情况下,它不会变成超链接。
可以在此处找到修复程序:https://github.com/zahndy/o3o/commit/68b50f8c0ea106bcc709d3f69658b28da9c8a9d4#diff-3
谢谢大家的建议!