グラフにはいくつかの注釈があり、正確には 3 つです。そのうちの 2 つはテキスト注釈で、表示されたままにしておく必要があり、それが彼らが行っていることです。
しかし、基になるデータ モデルの状態に応じて表示または非表示にする必要がある LineArrowAnnotation もあります。ビュー モデルの bool プロパティにバインドされた Visibility プロパティをバインドしました。
<sci:LineArrowAnnotation Visiblity="{Binding ArrowVisible, Converter={StaticResource BooleanToVisibilityConverter}}"
Xaml エディターの "ArrowVisible" プロパティで F12 キーを押すと、ビュー モデルの適切な場所に移動します。ビュー モデル プロパティの値が期待どおりに設定され、変更がトリガーされるとプロパティのゲッターがアクセスされることをデバッガーで確認しました。
スクリーンショットのように、X1、X2、Y1、Y2 座標 (左と中央) を操作して矢印を配置できます。しかし、同じように可視性を設定しようとすると、矢印の先端が表示されたままになります (右)。矢印全体が実際に表示されていると仮定していますが、矢印を無効にする変更によりすべての座標も 0 に設定されるため、グラフの端に表示され、部分的にしか表示されません。
回避策として、注釈のストロークの太さをバインドして、矢印を非表示にする場合は 0 に設定しようとしました。
StrokeThickness="{Binding ArrowStrokeThickness}"
これも効果がありませんでした。ただし、ArrowStrokeThickness ゲッターのブレークポイントが予想どおりにヒットしたため、バインディングが正しく、値が読み取られることを確認する役割を果たしました。(この回避策のためだけにこのプロパティを追加したので、他の場所からアクセスすることはできません)。
矢印が表示されないはずのときに矢印を表示範囲外に配置することで回避できることはわかっていますが、それはビューモデルをハックする必要がある醜い解決策です。
私がまだ SciChart バージョン 3.31 を使用している間に、ソリューションをバージョン 4.0.5 に簡単に更新したことを追加したいと思います (その後、この変更をロールバックしました)。矢印の注釈は同じように動作していました。
編集: 知的財産上の理由で画像を削除しました。