我在圖中有幾個註釋,準確地說是3。其中兩個是文本註釋,我只需要保持可見,這就是他們正在做的。SciChart - LineArrowAnnotation在可見性設置爲false時不會消失
但我也有一個LineArrowAnnotation,我需要根據基礎數據模型的狀態出現和消失。我已經綁定了視圖模型中的布爾屬性的可見性屬性。
<sci:LineArrowAnnotation Visiblity="{Binding ArrowVisible, Converter={StaticResource BooleanToVisibilityConverter}}"
按在XAML編輯器的「ArrowVisible」屬性F12帶我到視圖模型中的適當位置。我在調試器中驗證過,我的視圖模型屬性的值是根據我的期望設置的,並且在觸發更改時訪問屬性的getter。在屏幕截圖中,我可以通過操縱其X1,X2,Y1,Y2座標(左和中)來定位箭頭。但是,如果我嘗試以相同的方式設置可見性,箭頭的尖端仍然可見(右)。我假設整個箭頭實際上是可見的,但由於禁用箭頭的更改也將所有座標設置爲0,所以它顯示在圖的邊緣,因此只能部分可見。
作爲解決方法,我甚至嘗試綁定註釋的筆劃厚度,如果箭頭應該隱藏,則將其設置爲0。
StrokeThickness="{Binding ArrowStrokeThickness}"
這也沒有任何效果。但是,它用來驗證綁定是否正確並讀取值,因爲ArrowStrokeThickness getter中的斷點按預期發生。 (我已經爲此解決方案添加了此屬性,因此無法從其他任何地方訪問它)。
我知道我可以解決它通過將箭頭時,它不應該是可見的可見範圍之外,但是這是一個醜陋的解決方案,需要我砍我的視圖模型。
我想補充一點,雖然我仍然在使用SciChart版本3.31,但我已經將解決方案簡要更新到4.0.5版本(我已經回滾了此更改),並且箭頭註釋正在運行一樣。
編輯:知識產權原因刪除圖片。
謝謝。本來我會問在SciChart論壇上,但你似乎更喜歡在這裏回答問題。下一次,我會在詢問之前多搜索一下。 – Shaggydog