Добавьте файлы проекта.

This commit is contained in:
melekhin
2026-06-05 15:58:03 +07:00
parent 785bd7dc5d
commit cf8ef7add7
56 changed files with 13478 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
namespace QWERTYkez.WordProcessor;
/// <summary>
/// Вспомогательный класс для замены параграфов в различных контейнерах
/// </summary>
internal static class ParagraphReplacer
{
/// <summary>
/// Заменяет параграф на новые параграфы в родительском элементе
/// </summary>
/// <param name="oldParagraph">Старый параграф для замены</param>
/// <param name="newParagraphs">Новые параграфы</param>
internal static void ReplaceParagraph(Paragraph oldParagraph, List<Paragraph> newParagraphs)
{
if (oldParagraph is null || newParagraphs is null || newParagraphs.Count == 0)
return;
var parent = oldParagraph.Parent;
if (parent is null)
return;
int paraIndex = -1;
var children = parent.ChildElements;
// Находим индекс параграфа
for (int i = 0; i < children.Count; i++)
{
if (children[i] == oldParagraph)
{
paraIndex = i;
break;
}
}
if (paraIndex == -1)
return;
// Удаляем старый параграф
parent.RemoveChild(oldParagraph);
// Вставляем новые параграфы
for (int i = 0; i < newParagraphs.Count; i++)
{
parent.InsertAt(newParagraphs[i], paraIndex + i);
}
}
}