линейные ряды диаграммы silverlight «заполнение»

#silverlight #charts #padding

#silverlight #Диаграммы #заполнение

Вопрос:

У меня есть эта линейная диаграмма, которая заполняется во время выполнения, то есть программно. Вот как это выглядит сейчас:

введите описание изображения здесь

Я хотел бы добавить какое-то «дополнение» к линейному ряду, чтобы оно выглядело лучше. Это выглядело бы примерно так: (фотошоп)

введите описание изображения здесь

или просто:

введите описание изображения здесь

Я думаю, что еще больше заполнения было бы еще лучше. Вроде как финансы.я думаю, дао графиках. Как бы я это сделал?

Ответ №1:

Принимая ответ @vorrtex немного дальше, вы могли бы связать значения Minimum и Maximum по обеим осям для просмотра свойств модели (при условии, что вы используете MVVM) и после вычисления точек линейного ряда обновить эти значения. Таким образом, ваш XAML станет:

 <chart:Chart.Axes>
    <chart:LinearAxis Orientation="X" Minimum="{Binding XMinimum}" Maximum="{Binding XMaximum}" />
    <chart:LinearAxis Orientation="Y"  Minimum="{Binding YMinimum}" Maximum="{Binding YMaximum}" ShowGridLines="True" />
</chart:Chart.Axes>
  

Комментарии:

1. Я довольно начинающий программист. Я действительно не знаю MVVM. Не могли бы вы немного уточнить? кроме того, проверьте мой второй ответ ^^

2. @JelloCaca — Вопросы и ответы на самом деле не лучшее место для объяснения этого материала. Вы на правильном пути, но вам нужно реализовать INotifyProperyChanged интерфейс. Я предлагаю вам выполнить некоторые поисковые запросы (не только по переполнению стека) о Model-View-ViewModel. В MSDN есть несколько отличных начальных сообщений.

Ответ №2:

Просто явно укажите оси и задайте Minimum и Maximum свойства.

Для вашего примера я бы сделал это так:

 <chart:Chart>
    <!-- ... -->
    <chart:Chart.Axes>
        <chart:LinearAxis Orientation="X" Minimum="-0.5" Maximum="3.5" />
        <chart:LinearAxis Orientation="Y"  Minimum="0" Maximum="1200" ShowGridLines="True" />
    </chart:Chart.Axes>
</chart:Chart>
  

Ответ №3:

@Крис, я на правильном пути с этим?

 public class Xorientation
{
    private int _XMinimum;
    private int _XMaximum;

    public Xorientation(int Xminimum, int Xmaximum)
    {
        _XMinimum = Xminimum;
        _XMaximum = Xmaximum;
    }

    public int XMinimum
    {
        get { return _XMinimum; }
        set { _XMinimum = value; }
    }

    public int XMaximum
    {
        get { return _XMaximum; }
        set { _XMaximum = value; }
    }
}