翻譯|使用教程|編輯:楊鵬連|2021-06-23 10:09:35.420|閱讀 246 次
概述:本文主要介紹了高性能圖表控件LightningChart關(guān)于懸停在點上時的工具提示問題解答。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
LightningChart.NET完全由GPU加速,并且性能經(jīng)過優(yōu)化,可用于實時顯示海量數(shù)據(jù)——超過10億個數(shù)據(jù)點。LightningChart包括廣泛的2D、高級3D、Polar、Smith、3D餅/甜甜圈、地理地圖和GIS圖表以及適用于科學(xué)、工程、醫(yī)學(xué)、航空、貿(mào)易、能源和其他領(lǐng)域的體位功能。
LightningChart.NET重加入在線訂購,SignalTools,12個月,WPF版本原價405元,現(xiàn)價3499元,現(xiàn)在搶購立享優(yōu)惠!立即購買>>
點擊下載LightningChart.NET最新試用版 LightningChart JS最新試用版
Q:懸停在點上時的工具提示
我有一個帶有點的FreeformPointLineSeries,并且設(shè)置LineVisible="false", PointsVisible="true" ... 我想顯示一些帶有自定義信息的工具提示,當(dāng)鼠標(biāo)懸停在圖表內(nèi)的一個點上時. .....是那可能嗎?:)
A:是的,這是很有可能做到的。我們實際上有一兩個演示示例,它執(zhí)行與此類似的操作(“散點、點跟蹤”和“帶標(biāo)記的值跟蹤”)。您可以檢查它們及其源代碼,因為它們在這種情況下會有所幫助。
基本上,您可以在每個數(shù)據(jù)點的頂部放置一個SeriesEventMarker,并使用MouseOverOn- 和MouseOverOff- 事件來啟用和禁用它們的可見性。可以更新標(biāo)記的標(biāo)簽文本以顯示有關(guān)數(shù)據(jù)點的自定義信息。這種方法很有效,除非有數(shù)千(甚至數(shù)萬)個數(shù)據(jù)點,在這種情況下,有這么多SeriesEventMarker 會開始降低應(yīng)用程序的性能。
也可以僅使用一個標(biāo)記并通過求解MouseOverOn 事件內(nèi)最近的數(shù)據(jù)點來更新其位置。例如:
// Defining the marker SeriesEventMarker marker = new SeriesEventMarker(); marker.MouseInteraction = false; marker.HorizontalPosition = SeriesEventMarkerHorizontalPosition.SnapToPoints; marker.VerticalPosition = SeriesEventMarkerVerticalPosition.AtYValue; marker.Visible = false; marker.Label.Border.Style = BorderType .Outer; marker.Label.Border.Color1 = Colors.Red; marker.Label.Distance = 15; freeformPointLineSeries.SeriesEventMarkers.Add(marker); freeformPointLineSeries.MouseOverOn += freeformPointLineSeries_MouseOverOn; freeformPointLineSeries.MouseOverOff += freeformPointLineSeries_MouseOverOff; private void freeformPointLineSeries_MouseOverOff( object sender, MouseEventArgs e) { _chart.ViewXY.FreeformPointLineSeries[0].SeriesEventMarkers[0].Visible = false; } private void freeformPointLineSeries_MouseOverOn(object sender, MouseEventArgs e) { _chart.BeginUpdate(); double xpos, ypos; int index; if (_chart.ViewXY .FreeformPointLineSeries[0].SolveNearestDataPointByCoord((int)e.GetPosition(_chart).X, (int)e.GetPosition(_chart).Y, out xpos, out ypos, out index)) { _chart.ViewXY.FreeformPointLineSeries[0 ].SeriesEventMarkers[0].XValue = xpos; _chart.ViewXY.FreeformPointLineSeries[0].SeriesEventMarkers[0].YValue = ypos; _chart.ViewXY.FreeformPointLineSeries[0].SeriesEventMarkers[0].Visible = true; _chart.ViewXY.FreeformPointLineSeries[0].SeriesEventMarkers[0].Label.Text = "X: " + xpos.ToString("0.00") + "\nY: " + ypos.ToString("0.00"); } _chart.EndUpdate(); }請注意,您還可以使用Annotation 代替SeriesEventMarker 的標(biāo)簽來顯示自定義信息。注釋具有更多標(biāo)簽樣式選項。
Q:很酷,它可以工作,現(xiàn)在我只有一個小問題--->可以用鼠標(biāo)移動標(biāo)記,有什么方法可以禁用它嗎?
A:是的,這是可能的。有兩個選項可供您選擇:
marker.MouseInteraction = false;
這可以防止鼠標(biāo)與標(biāo)記的所有交互,包括移動它、鼠標(biāo)懸停突出顯示和鼠標(biāo)事件。marker.MoveByMouse = false;
這只會阻止使用鼠標(biāo)移動標(biāo)記,但會保留上面提到的其他鼠標(biāo)交互。
如果有任何疑問,請以獲取更多信息。
如果您對該圖表控件感興趣,歡迎加入圖表控件QQ交流群:740060302
欲購買LightningChart正版授權(quán),或了解更多產(chǎn)品信息請點擊
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: