0

我正在将 .rtf 文件加载到 WPF 富文本框中,并且具有链接的图像正在添加此下划线属性。我不想要下划线,似乎无法摆脱它。

              public MainWindow()
    {
        InitializeComponent();

        Assembly assembly = Assembly.GetExecutingAssembly();


        Stream s =  assembly.GetManifestResourceStream("WPFRichTextIssue.Sigs.MSC.rtf");
        using (s)
        {
             TextRange TR = new TextRange(RTB.Document.ContentStart, RTB.Document.ContentEnd);

        TR.Load(s, DataFormats.Rtf);
        }

    }

我已经厌倦了找到带下划线的图像

  if (TR.GetPropertyValue(Inline.TextDecorationsProperty) == TextDecorations.Underline)
            {

            }
            else
            {
                // Do something
            }

但是图像不是 Inline.Text 所以它没有找到它......任何帮助都会很棒。

我还想也许我可以覆盖导致链接下划线的富文本框默认功能,但我似乎发现要进行更改的是内联文本,对图像没有任何影响,并且图像不受影响。

我能想到的唯一其他选择是,是否有办法更改 .rtf 文件以确保它没有任何下划线属性,但除非我遗漏了一些似乎也无济于事的东西。

整个 VS 2012 项目问题示例...下载项目

谢谢

4

1 回答 1

1

查看您的 XAML,就在 RTB 开始标记之后,如下所示:

<RichTextBox x:Name="RTB_Reply" HorizontalAlignment="Left" Height="157" Margin="302,338,0,0" VerticalAlignment="Top" Width="488" IsReadOnly="True">

粘贴这个:

<RichTextBox.Resources>
    <Style TargetType="{x:Type Hyperlink}">
        <Setter Property="TextDecorations"  Value="{x:Null}"/>
    </Style>
</RichTextBox.Resources>

木已成舟。=D

于 2013-09-17T18:54:36.593 回答