Потому что прошло уже месяц с тех пор, как я опубликовал это и не получил ответа, я опубликую то, что я закончил. Это довольно глупо, что я написал этот путь, но я не мог понять, какой способ его реализовать, главным образом потому, что свойство Blocks не открывается через общий интерфейс.
public BlockCollection FindContainingCollection(Block block)
{
BlockCollection blocks = null;
FlowDocument flowDoc = block.Parent as FlowDocument;
if (flowDoc != null)
blocks = flowDoc.Blocks;
else
{
TableCell tableCell = block.Parent as TableCell;
if (tableCell != null)
blocks = tableCell.Blocks;
else
{
ListItem listItem = block.Parent as ListItem;
if (listItem != null)
blocks = listItem.Blocks;
else
{
Section section = block.Parent as Section;
if (section != null)
blocks = section.Blocks;
else
{
Figure figure = block.Parent as Figure;
if (figure != null)
blocks = figure.Blocks;
else
{
Floater floater = block.Parent as Floater;
if (floater != null)
blocks = floater.Blocks;
}
}
}
}
}
return blocks;
}
Хотя эта ссылка может ответить на этот вопрос, то лучше включить основные части ответа здесь и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. – Lamorak
Редактировали его, чтобы включить пример кода. Это просто свойство, поэтому метод в вопросе не должен существовать. – Doug