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チャートがロードされた後にコールバックされる方法があるかどうか、または私が見逃している別の解決策があるかどうかです。ありがとう。