从点击的超链接获取文本
本文关键字:获取 取文本 超链接 | 更新日期: 2023-09-27 18:08:04
我使用下面的代码创建了一些超链接:
public Class_List()
{
InitializeComponent();
StackPanel myStackPanel = new StackPanel();
TextBlock txt = new TextBlock();
txt.Foreground = Brushes.Black;
txt.FontFamily = new FontFamily("03SmartFontUI");
txt.FontSize = 25;
txt.Margin = new Thickness(0, 5, 0, 5);
Run run = new Run(className);
Hyperlink link = new Hyperlink(run);
link.Click += Link_Click;
txt.Inlines.Add(link);
}
现在,我想获取超链接的文本并将其存储在字符串s中:
private void Link_Click(object sender, RoutedEventArgs e)
{
string s = (sender as Hyperlink).Inlines.ToString();
Class_Page class_page = new Class_Page();
NavigationService.Navigate(class_page);
}
但是我得到的不是超链接文本,而是
System.Windows.Documents.InlineCollection
您正在获得该类型,因为您实际上正在访问Inline
s的整个集合,而不是您正在寻找的Inline
。访问Run
文本的最快方法是在Hyperlink
的InlineCollection
中作为第一个Inline
使用:
((sender as Hyperlink).Inlines.FirstInline as Run).Text;