關於wpf中popup跟隨滑鼠移動顯示

來源:互聯網
上載者:User

標籤:move   看到了   open   開啟   圖片   點擊   限制   技術   div   

原文:關於wpf中popup跟隨滑鼠移動顯示

最近在做一個畫圖工具,裡面有一個功能是需要實現,當滑鼠移動的時候在,滑鼠的旁邊顯示座標資訊。

第一反應是想到了tooltip,但是tooltip有許多的限制,查詢資料的過程中看到了popup,popup比tooltip更加靈活,下面講講tooltip跟popup的區別:

1.tooltip會自動顯示,自動隱藏,而popup則需要設定IsOpen屬性,並且在Popup.StaysOen屬性為true時,Popup控制項會一直顯示,直到顯式地將IsOpen屬性設定為False。當Popup.StaysOen屬性為false時,當使用者在其他地方單擊滑鼠時,Popup控制項就會消失。

2.如果Popup控制項的IsOpen屬性設定為True時,可以通過Popup控制項的PopupAnimation屬性設定彈出方式,Placement屬性設定彈出位置,如Placement="Mouse",表示在滑鼠位置處彈出“提示框”。

3.Popup控制項不和任何控制項相關聯,無論在哪定義Popup標籤都可以。

 

下面的例子能實現滑鼠在移動的時候,popup跟隨滑鼠移動,並顯示座標資訊。

popup部分代碼:

1 <Popup Name="pop1" StaysOpen="True" AllowsTransparency="True" FlowDirection="LeftToRight" 2                PopupAnimation="Fade" Placement="Mouse">3             <TextBlock Name="txt" Text=""  Width="90" Height="30"></TextBlock>4 </Popup>

代碼解釋:StaysOpen="True"才能使Popup一直顯示。若StaysOpen="False",那麼Popup會在上一次的座標點不動,需要單擊滑鼠左鍵才會切換

到當前座標點。

後台代碼:

1  private void touchPad_MouseMove(object sender, MouseEventArgs e)2 {3    pop1.IsOpen = false;4    pop1.IsOpen = true;5    point = e.GetPosition(inkCanv2); 6    txt.Text = ("x:" + point.X.ToString() + " y:" +   point.Y.ToString());//顯示滑鼠當前座標點7 }

說明:為何要先IsOpen = false再IsOpen = false,下邊有解釋。http://bbs.csdn.net/topics/390770640

摘錄一下大神的原話:

“在其他地方點擊之後,pop1並不是自動關閉了,而是跑到其他控制項後面去了 
所以你再讓它開啟,它其實已經是開啟的,而且已經在後面,所以看不到了. 
你先讓它關閉,再開啟,就又跑到前面來了.”

http://www.cnblogs.com/TomZeng/p/6698450.html

關於wpf中popup跟隨滑鼠移動顯示

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.