В настоящее время у меня есть текстовый блок в виде списка, который отображает комментарии, введенные пользователем.Если текст больше 150 символов, я показываю опцию «читать дальше».
<TextBlock x:Name="txtComment" Grid.Row="3" Grid.Column="1" Grid.ColumnSpan="4" TextWrapping="Wrap"
FontSize="14" FontFamily="Arial" Foreground="#4B4B4B" Height="Auto">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=tbReadMore, Path=IsChecked}" Value="True">
<Setter Property="Text" Value="{Binding Path=comment}"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tbReadMore, Path=IsChecked}" Value="False">
<Setter Property="Text" Value="{Binding Path=comment,Converter={StaticResource StringFormatConverter150}}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<ToggleButton x:Name="tbReadMore" Grid.Row="5" Grid.Column="4" HorizontalAlignment="Right" BorderThickness="0" Background="Transparent" Foreground="#AEAEAE"
Visibility="{Binding Path=comment,Converter={StaticResource String150ToVisibilityConverter}}"
Style="{StaticResource ReadMoreLessLinkButton}" Tag="AncestorLevel 1">
<ToggleButton.Content>
<Grid>
<TextBlock Visibility="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorLevel=1,AncestorType=ToggleButton},Path=IsChecked,Converter={StaticResource InverseBooleanToVisibilityConverter}}">
<Run Text="..."></Run>
<Run Text="Read More"></Run>
</TextBlock>
<TextBlock Visibility="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorLevel=1,AncestorType=ToggleButton},Path=IsChecked,Converter={StaticResource BooleanToVisibiltyConverter}}">
<Run Text="..."></Run>
<Run Text="Less"></Run>
</TextBlock>
</Grid>
</ToggleButton.Content>
</ToggleButton>
Спрашивается, что: Пользователь может ввести текст при добавлении комментария типа "Пожалуйста, обратитесь @ Link1 и @ Link2".Когда пользователь вводит текст «@», я показываю всплывающее окно для выбора значений, например, Link1 и Link2.В этом случае я хочу выделить слова @ Link1 & @ Link2 внутри текста текстового блока и поработать над нажатием этих ссылок.Второй ответ по использованию управления контентом в приведенной ниже ссылке выглядит как хороший подход: WPF - TextBlock Text + Hyperlink
Не могу понять, Могу ли я по-прежнему работать на дисплее ReadКнопки Больше / Меньше с этим подходом?
Или какой-либо другой подход должен использоваться для достижения этого требования?