DFGUI之OnDragStart、OnDragEnd、OnDragDrop

最近項目要開發個新的模塊,可是ui是dfgui的,我想在這個列表中對其進行拖拽到場景時出現模型,進行自由擺放,那麼就得用到拖拽事件了。ide

 

 

1,給Model_Row添加事件,分別是OnDragStart、OnDragEnd、OnDragDrop學習

OnDragStart是在鼠標拖拽開始時觸發,
OnDragEnd是在鼠標拖拽結束觸發。
OnDragDrop
是在鼠標拖拽完成後觸發
 

上測試代碼測試

 1  public void OnDragStart(dfControl control, dfDragEventArgs dragEvent)
 2     {
 3         Debug.Log("DragStartDragStartDragStartDragStartDragStart");
 4         dragEvent.State = dfDragDropState.Dragging;
 5     }
 6     public void OnDragEnd(dfControl control, dfDragEventArgs dragEvent)
 7     {
 8         Debug.Log("DragEndDragEndDragEndDragEndDragEndDragEndDragEnd");
 9         // Add event handler code here
10     }
11     public void OnDragDrop(dfControl control, dfDragEventArgs dragEvent)
12     {
13         Debug.Log("DragDropDragDropDragDropDragDropDragDropDragDrop");
14         
15         // Add event handler code here
16     }

分析:OnDragStart是在拖拽開始時就會執行,值得注意的是雖然OnDragEnd是在拖拽結束時觸發,可是是在OnDragStart必須設置其拖拽事件的狀態爲dfDragDropState.Dragging,不然OnDragEnd將不執行。ui

  OnDragDrop呢是將此控件拖拽到另外一個控件中觸發spa

  那麼以下圖,我在另外一個控件上綁定了OnDragDrop這個事件,並增長tttttt.cs,些時我點擊列表中的某一項目手提到Model控件上時,觸發了tttttt.cs腳本中的OnDragDrop的代碼了3d

 


另外再補充一點,在作完這個列表以後碰到的一個問題就是,當我點擊其中某一項時,這一項產生了移動,而後就無語了。
發現dfEventBinding 的Event Handler能夠幫助咱們解決這個問題
BringToFront:前置
Disable:點擊以後禁用該項。
DoClick
Enable
Focus
Hide:點擊以後隱藏項
Localize
SendToBack
Show
Unfocus
而後我選擇的是Localize,而後我就繼續碼碼了。

 

 ---------------------------------------------------------------------------------------------------code

學習筆記 -- 一天一點點,共同進步blog

相關文章
相關標籤/搜索