Не устанавливается значения свойства PdfFreeTextAnnotation.Opacity

236
17 октября 2017, 00:46

Всем привет. Есть приложение WPF. Там используются SyncFusion контролы. Я пытаюсь создать аннотоцаю

PdfFreeTextAnnotation freeText = new PdfFreeTextAnnotation(new 
RectangleF(50, 100, 100, 50));
//Sets properties to the annotation
freeText.MarkupText = "Free Text with Callout";
freeText.TextMarkupColor = new PdfColor(System.Drawing.Color.Black);
freeText.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 7f);
//freeText.Bounds = new RectangleF(50, 100, 100, 50);
freeText.Opacity = 0.5f;
System.Diagnostics.Debug.WriteLine(freeText.Opacity);
freeText.Color = new PdfColor(System.Drawing.Color.Yellow);
freeText.BorderColor = new PdfColor(System.Drawing.Color.Red);
freeText.Border = new PdfAnnotationBorder(.5f);
freeText.LineEndingStyle = PdfLineEndingStyle.OpenArrow;
freeText.AnnotationFlags = PdfAnnotationFlags.Default;
freeText.Text = "Free Text";
PointF[] points = { new PointF(100, 400), new PointF(100, 450) };
freeText.CalloutLines = points;
AnnotationAdd = freeText;

Дальше оно попадает сюда

    private static void PdfAnnotationAddedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
    {
        var view = (WpfPdfViewer)d;
        var viewer = ((WpfPdfViewer)d).Viewer;
        try
        {
            var lDoc = viewer.LoadedDocument;
            int currentPage = viewer.CurrentPage;
            PdfAnnotation annotation = (PdfAnnotation)e.NewValue;
            lDoc.Pages[currentPage - 1].Annotations.Add(annotation);
            view.PerformAutoSave();
            //view.Load(lDoc);
        }
        catch (Exception exc)
        {
        }
    }

WpfPdfViewer наследуется от PdfViewerControl

Вот всё свойства устанавливаются нормально, кроме свойства Opacity. Оно вечно равно 0.

Сетер выглядит так

set
  {
    if ((double) value < 0.0 || (double) value > 1.0)
      throw new ArgumentException("Valid value should be between 0 to 1.");
    if ((double) this.m_opacity == (double) value)
      return;
    this.m_opacity = value;
  }

Скорее всего проблема в Геттере

get
  {
    this.m_opacity = 
        !this.m_dictionary.Items.ContainsKey(new PdfName("CA")) ? 0.0f : this.m_dictionary.Items[new PdfName("CA")] as PdfNumber).FloatValue;
    return this.m_opacity;
  }

Но что это за m_dictionary и new PdfName("CA")

Есть идеи?

READ ALSO
ASP.NET.Не работает метод JavaScript()

ASP.NET.Не работает метод JavaScript()

Из метода действия в контроллере вызываю метод JavaScript()Почему в браузере при обращении к методу действия он не выводится?

241
Запомнить старое положение вкладок TabControl WPF

Запомнить старое положение вкладок TabControl WPF

Как запомнить старое положение вкладок в TabControl при каждом запуске программы***Мое решение При закрытие программы запоминаю индекс каждой...

286
C#. Исключение при многопоточной работе с Queue

C#. Исключение при многопоточной работе с Queue

ЗдравствуйтеСушествует класс очереди последовательного порта, который работает в своем потоке

192