如何在FlowDocument中隐藏段落?

Joe*_*ite 12 data-binding wpf visibility flowdocument

有没有办法使用数据绑定来显示或隐藏FlowDocument中的段落?(我想使用MVVM,但使用FlowDocument作为我的视图.)

段落没有Visibility属性.我不确定还有什么可以寻找的.

tst*_*ter 3

我尝试了克里斯·博瓦的答案,但它有几个问题:

  1. 文本选择不正确
  2. 里面的文字不像段落那样流畅

我的解决方案是在流程文档中添加和删除该段落。

步骤是:

  1. 命名流程文档(即 flowDocument)
  2. 在要隐藏的段落之前命名项目(即 previousBlock)
  3. 命名要隐藏的段落(即 hideParagraph)

然后:

        if (<hide paragraph>)
        {
            if (previousBlock.NextBlock == hideParagraph)
            {
                flowDocument.Blocks.Remove(hideParagraph);
            }
        }
        else
        {
            if (previousBlock.NextBlock != hideParagraph)
            {
                flowDocument.Blocks.InsertAfter(previousBlock, hideParagraph);
            }
        }
Run Code Online (Sandbox Code Playgroud)