2017-01-13 2 views
0

Ich habe ein TextBlock Steuerelement in meiner UWP App und darin habe ich mehrere Text und Hyperlinks. Ich verkürze die URLs der Hyperlinks, wenn ich dem Benutzer zeige, aber ich möchte einen Tooltip hinzufügen, der die vollständige URL anzeigt, wenn der Benutzer den Hyperlink berührt.Wie Tooltipp zu "Inline" Hyperlink hinzufügen

Ich weiß, wie Sie QuickInfos zu Steuerelementen hinzufügen, aber in diesem Fall Hyperlink-Objekt ist kein Steuerelement (Windows.UI.Xaml.Documents.Hyperlink). Obwohl der folgende Code keine Fehler geben, ist es auch nicht funktioniert, zeigt es nicht die Werkzeugspitze:

var textBlock = new TextBlock(); 
var link = new Hyperlink(); 
var run = new Run(); 
run.Text = "http://www.twitter.com/.../"; 

ToolTip toolTip = new ToolTip(); 
toolTip.Content = "http://www.twitter.com/blablabla/longurl/"; 
ToolTipService.SetToolTip(link, toolTip); 

link.Inlines.Add(run); 
textBlock.Inlines.Add(link); 

Gibt es eine Möglichkeit Tooltips hinzufügen Objekte in einem Textblock Inline?

Antwort

1

Wie Sie wissen, Hyperlink Objekt ist kein Steuerelement, scheint es wie ToolTipService.ToolTip angefügten Eigenschaft keine Auswirkungen darauf. Als Workaround empfehle ich Ihnen, RichTextBlock anstelle von TextBlock zu verwenden. Dies liegt daran, RichTextBlock unterstützt InlineUIContainer Klasse zur gleichen Zeit TextBlock nicht unterstützt. HyperlinkButton kann InlineUIContainer hinzugefügt werden, da ToolTipService.ToolTip Auswirkungen auf HyperlinkButton nehmen, so können wir eine RichTextBlock mit HyperlinkButton wie folgt verwenden Ihre Anforderungen zu erfüllen:

<RichTextBlock> 
    <Paragraph> 
     <Italic>This is an inline bing: </Italic>  
     <InlineUIContainer> 
      <HyperlinkButton Content="bing" NavigateUri="http://www.bing.com" VerticalAlignment="Bottom" Padding="0,-3" xml:space="preserve"> 
       <ToolTipService.ToolTip> 
        <ToolTip 
         Content="Offset ToolTip." 
         HorizontalOffset="20" 
         VerticalOffset="30" /> 
       </ToolTipService.ToolTip> 
      </HyperlinkButton> 
     </InlineUIContainer> 
     Mauris auctor tincidunt auctor. 
    </Paragraph> 
</RichTextBlock> 
0

Sie dies mit einem Hyperlink tun können:

<HyperlinkButton NavigateUri="http://www.mrlacey.com/" > 
    <TextBlock Text="mrlacey.com"> 
     <ToolTipService.ToolTip> 
      <TextBlock Text="http://mrlacey.com/" /> 
     </ToolTipService.ToolTip> 
    </TextBlock> 
</HyperlinkButton> 
Verwandte Themen