Почему текстовое поле заполнителя пользовательского макета без маркеров создает текстовое поле слайда с маркерами?

У меня есть следующий код надстройки С# PowerPoint 2010 (только кнопка "Тест"). Я не понимаю, почему слайд, созданный вручную с использованием этого CustomLayout с ppPlaceholderBody, для которого установлено значение ppBulletNone, создает заполнитель для текстового поля с маркерами. Макет образца слайдов в PowerPoint выглядит нормально без маркеров. Я уверен, что должно быть что-то большее, чем я понимаю. Кто-нибудь может пролить свет на это?

    private void button4_Click(object sender, EventArgs e)
    {
        PowerPoint.CustomLayout ppCL = Globals.ThisAddIn.Application.ActivePresentation.SlideMaster.CustomLayouts.Add(
            Globals.ThisAddIn.Application.ActivePresentation.SlideMaster.CustomLayouts.Count + 1);
        ppCL.Name = "My Custom Master Layout - text without a bullet!";
        PowerPoint.Shape ppShape = ppCL.Shapes.AddPlaceholder(PowerPoint.PpPlaceholderType.ppPlaceholderBody);
        ppShape.TextFrame.TextRange.Text = "Candidate";
        ppShape.TextFrame.TextRange.ParagraphFormat.Bullet.Type = PowerPoint.PpBulletType.ppBulletNone;
    }

Заранее спасибо за помощь... Я работал над этим дольше, чем хотел бы признать.

-Аарон


person LambChops    schedule 02.10.2015    source источник


Ответы (1)


Вот решение: текст формы должен быть установлен после применения ppBulletNone. Это имеет смысл, поскольку текст абзаца был создан с использованием маркера по умолчанию и не изменялся автоматически при изменении формы. Дух.

Просто переверните две последние строки в исходном вопросе так:

        ppShape.TextFrame.TextRange.ParagraphFormat.Bullet.Type = PowerPoint.PpBulletType.ppBulletNone;
        ppShape.TextFrame.TextRange.Text = "Candidate";

Кто-нибудь даст мне балл, чтобы я мог начать помогать другим?

person LambChops    schedule 03.10.2015