Próbowałem odpowiedź Chris Bova, ale miał kilka problemów:
- Zaznaczanie tekstu nie działają prawo
- Tekst wewnątrz nie płynąć jak ust
My rozwiązaniem było dodanie i usunięcie akapitu z dokumentu przepływu.
Kroki są:
- Nazwa dokumentu przepływu (tj FlowDocument)
- Nazwa przedmiot przed akapicie chcesz ukryć (tj previousBlock)
- Nazwa akapit chcesz ukryć (tj hideParagraph)
Następnie:
if (<hide paragraph>)
{
if (previousBlock.NextBlock == hideParagraph)
{
flowDocument.Blocks.Remove(hideParagraph);
}
}
else
{
if (previousBlock.NextBlock != hideParagraph)
{
flowDocument.Blocks.InsertAfter(previousBlock, hideParagraph);
}
}
Jeśli akapit nie zawiera treści, to nadal zajmuje całą pionową spację o pełnej linii, której wolałbym uniknąć. Co do dodawania właściwości IsVisible, w jaki sposób byłoby to realizowane? –