您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關TE二次開發中如何在wpf上自定義氣泡的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
在TE的CS開發中,可以使用winform或者wpf進行開發,使用的語言都是C#,wpf的開發中,可以實現在winform中不能實現的浮動半透明效果,,對于te上一些自帶的效果可進行改善。
te上的彈出氣泡是te本身的api進行實現的,但是氣泡的缺點是:不能設置氣泡的透明度,氣泡的形狀也不能改變,氣泡中的信息要按照te的要求進行添加。
既然在wpf中,可以實現在te上浮動窗口,那就可以自定義一個氣泡,wpf上的控件也能夠進行透明度設置,還能設置控件的形狀,根據te中的鼠標點擊事件,動態控制氣泡的顯示和隱藏,改變氣泡中的信息。
第一種方式是,固定位置的氣泡,這個可以根據wpf界面上的像素,設置氣泡的位置;
第二種方式是:氣泡跟著te中的對象,標簽、模型等移動,實現跟隨顯示信息的效果;
下邊說一下這種的實現方式:
首先獲取對象的經緯度位置,在Window接口中,有PixelFromWorld方法,可以根據經緯度獲得三維窗口的像素坐標;
三維窗口的像素坐標要和wpf界面的坐標做一個簡單的數學切換,這個就是加減的方式;
彈出氣泡的位置,就能顯示到三維對象的位置,接下來,要實現在地圖的位置進行移動,這可借助te中的onframe事件,在移動過程中,動態移動彈出氣泡的位置,達到跟隨對象的效果。
當地圖中的對象出了三維窗口的范圍時,要控制氣泡不再顯示,要不就飄到界面以外了。
根據以上的思路,就能達到自定義氣泡的效果,如下圖顯示。
感謝各位的閱讀!關于“TE二次開發中如何在wpf上自定義氣泡”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。