Я использую LiveCharts
Диаграмма с накоплением столбцов в WPF .Диаграмма размещена в Tabview
, который связан со списком ViewModels
.Графики показывают DataLabel
после загрузки приложения, но они исчезают при переключении между TabViews
.Почему исчезают метки данных?
Модель:
public ChartValues<double> ChartValuesDone { get; set; }
public ChartValues<double> ChartValuesInProgress { get; set; }
public Func<double, string> Formatter { get; set; }
Диаграмма:
<lvC:CartesianChart Zoom="X"
LegendLocation="Top"
FontSize="20"
Margin="15">
<lvC:CartesianChart.Series>
<lvC:StackedColumnSeries StackMode="Values"
Values="{Binding ChartValueDone}"
DataLabels="True" Title="Done" />
<lvC:StackedColumnSeries Fill="Gray"
StackMode="Values"
Values="{Binding ChartValuesInProgress}"
DataLabels="True" Title="In Progress" />
</lvC:CartesianChart.Series>
<lvC:CartesianChart.AxisX >
<lvC:Axis Labels="{Binding Labels}"
FontSize="16"
LabelsRotation="-15"
Foreground="Black"
Separator="{x:Static lvC:DefaultAxes.CleanSeparator}"
/>
</lvC:CartesianChart.AxisX>
<lvC:CartesianChart.AxisY >
<lvC:Axis MinValue="0" FontSize="16" LabelFormatter="{Binding Formatter}" Foreground="Black" Margin="10,0,0,0"/>
</lvC:CartesianChart.AxisY>
</lvC:CartesianChart>
TabView:
<TabControl ItemsSource="{Binding Charts}" SelectedIndex="0">
<TabControl.Resources>
<DataTemplate DataType="{x:Type model:ChartModel }">
<charts:Chart />
</DataTemplate>
</TabControl.Resources>
<TabControl.ItemContainerStyle>
<Style TargetType="TabItem" BasedOn="{StaticResource CoDeTabItem}" >
<Setter Property="Header" Value="{Binding Name}" />
</Style>
</TabControl.ItemContainerStyle>
</TabControl>
Спасибо за вашу помощь!