在WPF应用程序中,我从RSS源加载新闻。内容显示在TextBlock中。此TextBlock具有一定的大小。 TextTrimming方法切断内容。 现在我想在每个TextBlock的末尾插入一个超链接按钮。唯一的问题是我不知道究竟什么位置将被切断我的字符串。有没有办法解决这个问题?
当我在TextBlock中插入文本然后在我的Hyperlink-Button中插入文本时,我的HyperlinkButton将被剪切掉。我可以阻止切断我的HyperlinkButton吗?
XAML的代码:
<TextBlock Name="myText" />
C#-Code:
Hyperlink hlink = new Hyperlink(new Run("here"));
myText.Inlines.Clear();
myText.Inlines.Add(value); //description from RSS Feed
myText.Inlines.Add(hlink);
答案 0 :(得分:1)
为什么不在文本之后添加HyperLink,方法是替换StackPanel中的两个项目?
答案 1 :(得分:0)
如果我了解您的要求,这是实现目标的一种方式:
<StackPanel>
<DockPanel Width="200">
<TextBlock DockPanel.Dock="Left" Text="A short description." TextTrimming="CharacterEllipsis"/>
<TextBlock DockPanel.Dock="Right" TextAlignment="Right">
<Hyperlink NavigateUri="http://www.google.com">here</Hyperlink>
</TextBlock>
</DockPanel>
<DockPanel Width="200">
<TextBlock DockPanel.Dock="Left" TextTrimming="CharacterEllipsis" MaxWidth="170" Text="A really long descripion of the item." />
<TextBlock DockPanel.Dock="Right" TextAlignment="Right">
<Hyperlink NavigateUri="http://www.google.com">here</Hyperlink>
</TextBlock>
</DockPanel>
</StackPanel>
因此DockPanel
控件可能是一个值得考虑的好选择。