Размер аннотации MSChart

У меня есть MSChart с аннотациями, область диаграммы достаточно велика, чтобы люди, использующие старую школу 800x600, могли видеть диаграмму.

Проблема в том, что когда я просматриваю свою диаграмму с таким низким разрешением, аннотации внутри нее уменьшаются вместе с диаграммой и начинают обрезать последние пару букв.

Например, аннотация «Hello world» в обычном разрешении становится «Hello W» при разрешении 800x600.

Кто-нибудь знает, как я могу установить свойства аннотации, чтобы они не сжимались?


person chartingNoob    schedule 24.04.2011    source источник


Ответы (1)


У меня была та же проблема, и я не смог найти способ сделать фиксированный размер аннотации. Я выяснил, что размеры аннотации задаются в процентах от диаграммы (т. е. причина изменения размера в том, что Width = 25 на самом деле означает 25% ширины диаграммы), поэтому я написал небольшой хак, чтобы изменять размер аннотации всякий раз, когда изменяется размер диаграммы:

var annotation = new RectangleAnnotation() { ... }

chart.Annotations.Add(annotation);

chart.Resize += (sndr, ev) => {
    // Shoot for 60 pixels tall and 130 wide
    // Annotation dimensions are set as a percentage of the chart area
    annotation.Width =  (130d / chart.Width) * 100;
    annotation.Height = (60d / chart.Height) * 100;
};

Это немного некрасиво, но это работает для меня.

person Matt Winckler    schedule 19.05.2011