2017-05-31 9 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> 

コード:

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

絶対または相対ハイパーリンクRTFファイル内のクリック可能なされていますWordまたはワードパッドで開くと、通常のテキストとして表示されます。

は、青色で表示されますが、アクティブでもありません。マウスポインタを移動してもマウスポインタは変わりません。

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" /> 
関連する問題