我想知道是否有办法在 visifire 图表完成渲染时获得回调。我一直在尝试创建一个图表并将其保存为图像。这适用于按下按钮,但如果我没有按钮则不起作用。我的猜测是因为图表没有完成加载,但我不太确定。当页面被加载时,我设置了在我的 XAML 中使用的 ObservableCollection 值。
我基本上有一些看起来像这样的数据系列:
<vc:Chart.Series>
<vc:DataSeries RenderAs="StackedColumn" LegendText="Portion sequenced" LightingEnabled="False" AxisYType="Primary" Color="#4198AF" DataSource="{Binding SequencedValues}">
<vc:DataSeries.DataMappings>
<vc:DataMapping MemberName="AxisXLabel" Path="Key"></vc:DataMapping>
<vc:DataMapping MemberName="YValue" Path="Value"></vc:DataMapping>
</vc:DataSeries.DataMappings>
这些由 ObservableCollection 填充。所以我首先调用我的方法 DrawImage() 来设置 observablecollection 值,然后调用 Save()。就像我说的,Save() 方法可以通过按下按钮自行工作,但如果我在绘制图像后调用它,则不会。我认为它最初与尚未完成加载的页面有关。但是使用
<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<i:InvokeCommandAction Command="{Binding PageLoadCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
我只在页面加载时调用 DrawImage() 和 Save()。我什至尝试在 DrawImage() 和 Save() 之间设置一个 5 秒的睡眠定时器,以查看是否存在计时问题,我仍然只能获得背景图像,但我的 DataSeries 没有。
所以我的问题是是否有办法在 Visifire 图表加载后被回调,或者我是否缺少另一个解决方案。谢谢。