Размеры области графика(Chart)

122
14 июня 2019, 10:50

Использую компонент Chart для отрисовки некоего графика. Размер самого компонента Chart прямоугольный(ширина в пикселях больше высоты). А вот размер области графика должен быть строго квадратным. Как делаю:

ChartGraphic.ChartAreas[0].Position.Height = 70;
ChartGraphic.ChartAreas[0].Position.Width = 70;
ChartGraphic.ChartAreas[0].Position.X = 3;
ChartGraphic.ChartAreas[0].Position.Y = 10;

Получается так:

Как видно - сама координатная система не квадратная. Как правильно её настроить?

Answer 1

У графика есть свойство ChartArea, а у него, в свою очередь, свойство Position, которое позволяет в процентах указать положение и размер графика относительно родительского контрола. Примерный код, который нужно поместить в событие Resize, чтобы график был всегда строго квадратным:

ChartGraphic.ChartAreas[0].Position.X = 3;
ChartGraphic.ChartAreas[0].Position.Y = 1;
if (ChartGraphic.Width < ChartGraphic.Height)
{
    ChartGraphic.ChartAreas[0].Position.Width = 90;
    ChartGraphic.ChartAreas[0].Position.Height = (float)(ChartGraphic.Width / 100.0 * 90 * 100) / ChartGraphic.Height;
}
else
{
    ChartGraphic.ChartAreas[0].Position.Height = 90;
    ChartGraphic.ChartAreas[0].Position.Width = (float)(ChartGraphic.Height / 100.0 * 90 * 100) / ChartGraphic.Width;
}
READ ALSO
No such host is known в Dns.GetHostEntry

No such host is known в Dns.GetHostEntry

При вызове DnsGetHostEntry (или Dns

115
Как в C#(WPF) передать переменную при событии MouseDown?

Как в C#(WPF) передать переменную при событии MouseDown?

У меня есть WrapPanel, с помощью Children[0]MouseDown += *Событие* я хочу добавить событие в которое можно было бы передать переменную, в будущем я планирую...

106
Свой VideoPlayer с паттерном MVVM

Свой VideoPlayer с паттерном MVVM

Подскажите как сделать работу MediaElement с использованием паттерна MVVMЯ сделал дизайн VideoPlayer осталось только с помощью кнопок управлять воспроизведением...

111
Вывести содержимое List во view

Вывести содержимое List во view

Каким образом можно вывести выборку на основе модели данныхно с полями в ней не описанными? Например имеется контроллер:

104