1

请考虑以下XAML代码:

<RichTextBox Name="dataRichTextBox" VerticalScrollBarVisibility="Auto" >
    <FlowDocument Name="dataFlowDocument" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
        <Paragraph Name="dataParagraph">

        </Paragraph>
    </FlowDocument>
</RichTextBox>

我想做的是,直接将 aa 分配给以Paragraph编程方式创建的XAMLdataParagraph中的定义。

代码看起来像:

Paragraph paraOne = new Paragraph();
Run run1 = new Run("I am run one"+Environment.NewLine);
// run1.Background = Brushes.Green;
paraOne.Inlines.Add(run1);
dataParagraph = paraOne; // expect that it will show up on the RichTextBox.

我已经尝试过了,它不起作用。到目前为止,我阅读的示例似乎都是以编程方式创建的FlowDocumentParagraph然后将 Runs' 分配给它们。是否有可能按照我实施的方式实现。

4

1 回答 1

1

您不能将 XAML 中声明的段落替换为新段落,但可以直接使用它。

保持您的 XAML 原样,将您的代码更改为此,它将起作用:

dataParagraph.Inlines.Add(new Run("I am run one" + Environment.NewLine));

或者,只需将新段落添加到FlowDocument,而不是尝试将其分配给现有段落。

于 2011-09-17T05:33:26.503 回答