2017-05-31 60 views
3

XAML:UWP RichEditBox:如何啓用加載RTF文件鏈接(Document.LoadFromStream)

<ScrollViewer x:Name="RtfEulaViewer" Grid.Row="1" VerticalAlignment="Top"> 
    <RichEditBox x:Name="RtfEula" IsHitTestVisible="False" IsFocusEngagementEnabled="False" IsReadOnly="True" 
     Background="{ThemeResource StandardBackground}" BorderThickness="0" TextWrapping="Wrap" /> 
</ScrollViewer> 

代碼:RTF文件

StorageFile file = await StorageFile.GetFileFromPathAsync(filePath); 
IRandomAccessStream stream = await file.OpenAsync(FileAccessMode.Read); 
this.RtfEula.Document.LoadFromStream(TextSetOptions.FormatRtf, stream); 

絕對或相對超鏈接的點擊能當它由Word或寫字板打開時,只顯示爲普通文本。

{\field{\*\fldinst HYPERLINK "http://www.microsoft.com"}{\fldrslt Microsoft}} 

來自RTF規範以藍色顯示,但也是不活動的。如果我移動它,鼠標指針不會改變。

加載RTF文件時,是否有一種方法可以在某些文本框中獲得活動的HyperLink?

+0

在你的代碼中,你已經設置了'IsHitTestVisible =「False」'。這將禁用所有輸入交互。這就是爲什麼你的超鏈接不能點擊的原因。刪除此設置或將其值更改爲「True」應該能夠解決您的問題。 –

+0

哇,我把'IsHitTestVisible'設置爲'True',這解決了它。謝謝@JayZuo。請添加它作爲答案,它完全解決了這個問題。我會將其標記爲已回答。 – user3350539

+0

謝謝,我已將它添加爲答案。很高興知道這可以幫助你。 –

回答

3

在你的代碼中,你已經設置了IsHitTestVisible="False"。這將禁用所有輸入交互。這就是爲什麼你的超鏈接不可點擊。刪除此設置或將其值更改爲True應該能夠解決您的問題。

<RichEditBox x:Name="RtfEula" IsFocusEngagementEnabled="False" IsReadOnly="True" 
    Background="{ThemeResource StandardBackground}" BorderThickness="0" TextWrapping="Wrap" />