Wpf 如何访问文本块内的超链接?

Wpf 如何访问文本块内的超链接?,wpf,dynamic,canvas,hyperlink,ienumerable,Wpf,Dynamic,Canvas,Hyperlink,Ienumerable,我有一个画布,上面有一个textBlock,在textBlock中有一个超链接。我可以用下面的代码访问我网格上的画布和画布上的Textblock,但我不知道如何访问Textblock内部的超链接,有什么想法吗 canvas+textBlock+hyperlink code: <Canvas Grid.Column="2" ClipToBounds="True" Name="canMain" Background="Beige" Margin="12,25"

我有一个画布,上面有一个textBlock,在textBlock中有一个超链接。我可以用下面的代码访问我网格上的画布和画布上的Textblock,但我不知道如何访问Textblock内部的超链接,有什么想法吗

    canvas+textBlock+hyperlink code:


          <Canvas Grid.Column="2" ClipToBounds="True" Name="canMain" Background="Beige" Margin="12,25" Grid.RowSpan="2"   >
          <TextBlock FontSize="15" Name="tbmarquee" Canvas.Left="10" Width="169"> 
           <Hyperlink NavigateUri="http://www.google.com"  RequestNavigate="Hyperlink_RequestNavigate"  Cursor="Hand" >
                                <!--Google page link--> 
          </Hyperlink>
        </TextBlock>
        </Canvas>
canvas+textBlock+hyperlink代码:
我使用以下代码动态访问画布和文本块:

     IEnumerable<Canvas> cnvss = this.gride.Children.OfType<Canvas>();
                foreach (Canvas cnvs in cnvss)
                {
     IEnumerable<TextBlock> txs = cnvs.Children.OfType<TextBlock>();
                         foreach(TextBlock tbs in txs )
                        {

                        }
                }
IEnumerable cnvss=this.grid.Children.OfType();
foreach(cnvss中的画布CNV)
{
IEnumerable txs=cnvs.Children.OfType();
foreach(txs中的文本块tbs)
{
}
}

如何访问超链接?

您可以尝试从
TextBlock
内联线
属性获取
超链接
,例如:

var h = tbs.Inlines.OfType<Hyperlink>().FirstOrDefault();
var h=tbs.Inlines.OfType().FirstOrDefault();

如果我想在h中添加文本,怎么做?因为我想访问超链接以动态更改其文本。。。但是h.text不起作用,有没有办法分配文本给它???在移动中添加要求是不好的,下次你应该从一开始就说明这一点,或者将其作为一个单独的问题。无论如何,这取决于你是想更改现有文本还是向超链接添加新文本。。