Привязка данных к свойствам SfChart должна работать с элементами в StaticResource? - PullRequest
1 голос
/ 16 июня 2020

У нас есть общий DateTimeAxis, на который мы ссылаемся на всех наших страницах содержимого с помощью SfChart.

<xForms:DateTimeAxis
    x:Key="CommonDateTimeAxis"
    AxisLineStyle="{StaticResource ChartAxisLineStyle}"
    EdgeLabelsDrawingMode="Shift"
    Interval="{Binding DateTimeAxisIntervalGrouping}"
    IntervalType="{Binding DateTimeAxisInterval, Converter={StaticResource DataTimeAxisTypeConverter}}"
    MajorTickStyle="{StaticResource ChartMajorTickStyle}"
    Maximum="{Binding CurrentDataWindow.End}"
    Minimum="{Binding CurrentDataWindow.Start}"
    PlotOffset="12"
    ShowMajorGridLines="False">
    <xForms:DateTimeAxis.LabelStyle>
        <xForms:ChartAxisLabelStyle
            FontFamily="{StaticResource LightFontFamily}"
            FontSize="10"
            LabelFormat="{Binding DateTimeAxisDateFormat}"
            TextColor="{StaticResource OffWhite}" />
    </xForms:DateTimeAxis.LabelStyle>
</xForms:DateTimeAxis>

Обратите внимание, что мы привязываемся к свойству ViewModel, поскольку мы меняем формат динамически.

LabelFormat="{Binding DateTimeAxisDateFormat}"

При начальной загрузке страницы и модели просмотра настройка формата работает нормально. Однако, если после того, как мы закроем View \ ViewModel, а затем go обратно в любой другой из наших View \ ViewModels с помощью sfChart (или того же самого), LabelFormat останется на том значении, которое было до закрытия первого View / ViewModel.

Я думал, что делаю что-то дурацкое sh с сохранением экземпляров, но потом понял, что если я просто объявляю DateTimeAxis локально, т.е. не являюсь общим ресурсом в ResourceDictionary, привязка всегда работает.

Это не ожидал, правда? FWIW Я открыл инцидент с Syncfusion отдельно и сообщу обо всем полезном здесь

1 Ответ

1 голос
/ 05 августа 2020

Сообщенная проблема была исправлена ​​и перенесена в Syncfusion SfChart NuGet. Версия: 18.2.0.47

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...