Вставить гиперссылку в TextBlock - PullRequest
0 голосов
/ 29 июля 2011

в приложении WPF загружаю новости из RSS-канала. Содержимое отображается в текстовом блоке. Этот TextBlock имеет определенный размер. Содержимое обрезается методом TextTrimming. Теперь я хотел бы в конце каждого TextBlock вставить кнопку гиперссылки. Единственная проблема в том, что я не знаю точно, какая позиция будет обрезана на моей струне. Есть ли способ выяснить это?

Когда я вставляю свой текст в свой текстовый блок, а затем в мою кнопку гиперссылки, моя кнопка гиперссылки будет обрезана. Могу ли я предотвратить отключение моей гиперссылки?

XAML-код:

<TextBlock Name="myText" />

C # -код:

Hyperlink hlink = new Hyperlink(new Run("here"));

myText.Inlines.Clear();
myText.Inlines.Add(value); //description from RSS Feed
myText.Inlines.Add(hlink);

Ответы [ 2 ]

1 голос
/ 29 июля 2011

Почему бы просто не добавить HyperLink после текста, заменив оба элемента в StackPanel?

0 голосов
/ 27 июня 2014

Если я понял ваши требования, это один из способов достижения ваших целей:

<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>

enter image description here

Таким образом, элемент управления DockPanel может бытьхороший кандидат для рассмотрения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...