如何在文本框中添加超链接和文本

时间:2013-11-20 14:17:13

标签: wpf hyperlink textbox textblock

这是我的代码:

<TextBlock TextWrapping="Wrap" TextAlignment="Left">
   <TextBox IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap">    
      Please enter your details for login: questions follow the link 
   </TextBox>
   <Hyperlink NavigateUri="https:" RequestNavigate="Hyperlink_RequestNavigate">
      Reset Password
   </Hyperlink>
</TextBlock>

文本框不允许我在文本中设置超链接。我需要将超链接保留在文本框之外,这会创建一个新行。但我希望超链接与文本串联。

我在TextBlock中使用TextBox的原因是使文本可选。

2 个答案:

答案 0 :(得分:4)

我建议使用单RichTextBox

的解决方案
    <RichTextBox IsReadOnly="True" IsDocumentEnabled="True" >
        <FlowDocument>
            <Paragraph>
                Please enter your details for login: questions follow the link
                <Hyperlink NavigateUri="https:" RequestNavigate="Hyperlink_RequestNavigate">Reset Password</Hyperlink>
            </Paragraph>
        </FlowDocument>
    </RichTextBox>

答案 1 :(得分:0)

如果用TextBlock替换外部StackPanel,它能达到你想要的效果吗?

<StackPanel Orientation="Horizontal">
    <TextBox VerticalAlignment="Center" IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap">
        Please enter your details for login: questions follow the link
    </TextBox>
    <TextBlock VerticalAlignment="Center">
        <Hyperlink NavigateUri="https:" RequestNavigate="Hyperlink_RequestNavigate">
            Reset Password
        </Hyperlink>    
    </TextBlock>
</StackPanel>