Я пытаюсь создать простую диаграмму с YAxis и SecondaryYAxis с тем же диапазоном и масштабированием. Там у меня есть две проблемы:Связывание вторичного YAxis для изменения и масштабирования от первичного YAxis в диаграмме Visiblox
1) связывание диапазона и масштабирования, кажется, не работает, как ожидалось:
<charts:Chart.YAxis>
<charts:LinearAxis LabelsPosition="Inside" x:Name="PrimaryAxis"/>
</charts:Chart.YAxis>
<charts:Chart.SecondaryYAxis>
<charts:LinearAxis LabelsPosition="Inside"
Range="{Binding ElementName=PrimaryAxis, Path=ActualRange}"
Zoom="{Binding ElementName=PrimaryAxis, Path=Zoom}"
AutoScaleToVisibleData="False"/>
</charts:Chart.SecondaryYAxis>
, если у меня есть одна серия отображается на YAxis и другой серии отображается на SecondaryYAxis оба имеют разные масштабы или диапазонов.
2) Если у меня нет серий, отображаемых на SecondaryYAxis (так как я хочу, чтобы обе оси отображали одни и те же данные, нет смысла использовать SecondaryYAxis), «неиспользуемый» SecondaryYAxis не отображает Lables или Ticks at все.
Чтобы задать вопрос: Как я могу позволить диаграмме показать тот же YAxis слева и справа?
======= ======= EDIT
ОК, а @NielW указывал, я ничего плохого не делал. Проблема заключалась в том, что у меня есть диаграмма в TabControl, которая привела к тому, что график не установил привязку, как указано в XAML. Не спрашивайте меня, почему, но вот ошибка:
Вместо установки привязки в XAML, я сделать это вручную из кода позади:
var primary = ResultChart.YAxis as LinearAxis;
var secondary = ResultChart.SecondaryYAxis as LinearAxis;
var rangeBinding = new Binding("ActualRange")
{
Source = primary
};
secondary.SetBinding(LinearAxis.RangeProperty, rangeBinding);
var zoomBinding = new Binding("Zoom")
{
Source = primary
};
secondary.SetBinding(LinearAxis.ZoomProperty, zoomBinding);
Я понятия не имею, почему связывание в XAML Безразлично» t, когда диаграмма помещается в TabControl. Может быть, кто-то может это понять ?!
Примечание Я только добавить серию к графику один раз. Ему не важно, с какой осью следует строить его. Если вы не укажете, какую ось использовать, он будет использовать оба. – NielW