2009-08-10 66 views

回答

0

選項我能想到的...

  1. 隱藏段落的內容(不包括在模型中的段落)
  2. 延長段(或基類中的一個),並提供對於ISVISIBLE
+2

如果段落沒有內容,那麼它仍然佔用的垂直空間,我寧願避免了全系列的價值。至於添加一個IsVisible屬性,它將如何實現? – 2009-08-10 17:21:20

2

依賴項屬性我有完全相同的問題,並通過包裝列表項的內容設置在InlineUIContainer,像這樣成功地處理它:

<ListItem> 
    <Paragraph> 
     <InlineUIContainer> 
     <TextBlock x:Name="HideMe" Visibility="Collapsed"> 
      <Hyperlink NavigateUri="...">Components</Hyperlink> 
     </TextBlock> 
     </InlineUIContainer> 
    </Paragraph> 
    </ListItem> 

從這裏,你可以在代碼中或通過綁定設置「HideMe」的visbility。

2

我想克里斯·博瓦的答案,但有幾個問題:

  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); 
      } 
     }