Динамическое добавление VisualElement в LiveChart

242
13 мая 2017, 17:32

Доброе всем время суток! Пытаюсь реализовать динамическое добавление VisualElement в компонент LiveChart. Но никак это не выходит! Получается добавлять их только при запуске приложения с помощью binding. Ниже привожу код моей модели которая добавляет элементы на контроллер:

   public static VisualElementsCollection Visuals { get; set; }
   public UiElementsViewModel()
    {
        Values = DataProvider.Points.AsChartValues();
        Formatter = x => new DateTime((long) x).ToString("dd MMM");
        Step = TimeSpan.FromDays(1).Ticks * 2;
        //lets get some random points to add an even in the chart.
        var e1 = Values.Skip(15).Take(1).First();
        var e2 = Values.Skip(35).Take(1).First();
        SelectedVisualElement = new VisualElement
        {
            HorizontalAlignment = HorizontalAlignment.Center,
            VerticalAlignment = VerticalAlignment.Bottom,
            UIElement = new SelectedItemControl()
        };
        Visuals = new VisualElementsCollection
        {
            new VisualElement
            {
                X = e1.DateTime.Ticks,
                Y = e1.Value,
                HorizontalAlignment = HorizontalAlignment.Center,
                VerticalAlignment = VerticalAlignment.Top,
                UIElement = new EventAControl()
            },
            new VisualElement
            {
                X = e2.DateTime.Ticks,
                Y = e2.Value,
                HorizontalAlignment = HorizontalAlignment.Center,
                VerticalAlignment = VerticalAlignment.Top,
                UIElement = new EventBControl()
            }
        };
    }

А вот привязка уже на самой форме:

 <lvc:CartesianChart Grid.Column="1" VisualElements="{Binding Visuals, Mode=TwoWay}" Name="s">
        <lvc:CartesianChart.Series>
            <lvc:LineSeries Values="{Binding Values}" PointGeometry="{x:Null}" Fill="Transparent"></lvc:LineSeries>
        </lvc:CartesianChart.Series>
        <lvc:CartesianChart.AxisX>
            <lvc:Axis LabelFormatter="{Binding Formatter}" LabelsRotation="-90">
                <lvc:Axis.Separator>
                    <lvc:Separator Step="{Binding Step}"/>
                </lvc:Axis.Separator>
            </lvc:Axis>
        </lvc:CartesianChart.AxisX>
    </lvc:CartesianChart>

Подскажите пожалуйста, как сделать динамическое добавление VisualElement к элементу.

READ ALSO
В C# не работает Text Edit

В C# не работает Text Edit

Приветствую, начал изучать C# с нуля по книге "Изучаем C#" Эндрю СтиллменаВ книге все происходит в VS2012 for Windows 8

249
Авто заполнение формы на сайте и получение данных

Авто заполнение формы на сайте и получение данных

В БД есть таблица логинов и паролей от личных кабинетов клиентов (логины и пароли выдаются при заключении договора с клиентом, так что фактически...

325
Чем открыть флеш-сайт, кроме WebBrowser?

Чем открыть флеш-сайт, кроме WebBrowser?

Чем открывать флеш-сайт, кроме WebBrowser?

210
VK API Загрузка картинки из ссылки php

VK API Загрузка картинки из ссылки php

У меня есть адрес для загрузки фото, который я получил следующим образом:

645